@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&family=Sen:wght@700&display=swap");
address, article, aside, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
[hidden], command, datalist, menu[type=context], rp, source {
  display: none
}
* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box
}
html {
  font-size: 62.5%;
  height: 100%
}
body {
  font-size: 13px;
  font-size: 1.3rem;
  height: 100%;
  line-height: 1;
  text-align: left;
  /*background: #ECECEC;*/
  /*background: #d3d3d3;*/
  background: #ECECEC;
  padding: 0;
  margin: 0
}
h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  font-weight: 400
}
dl, ol, ul {
  list-style: none;
  margin: 0;
  padding: 0
}
li {
  list-style-type: none;
  list-style: none
}
dd, p {
  margin: 0
}
p {
  line-height: 1.8;
  padding: 0;
  font-size: 1.4rem
}
table {
  font-size: inherit;
  border-collapse: collapse;
  border-spacing: 0
}
table > caption {
  text-align: left
}
table th {
  text-align: left
}
table td, table th {
  margin: 0;
  padding: 0
}
img {
  border: none;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
pre {
  border: 1px solid #bfbfbf;
  padding: 5px
}
a {
  text-decoration: none;
  outline: 0;
  color: #333
}
form {
  margin: 0;
  padding: 0
}
button, input[type=text], select, textarea {
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
button:focus, input:focus, select:focus, textarea:focus {
  outline: 0
}
.inlineDesktop {
  display: none !important
}
@media only screen and (min-width:900px) {
  .inlineDesktop {
    display: inline !important
  }
}
.inlineMobile {
  display: inline !important
}
@media only screen and (min-width:900px) {
  .inlineMobile {
    display: none !important
  }
}
.inlineBlockDesktop {
  display: none !important
}
@media only screen and (min-width:900px) {
  .inlineBlockDesktop {
    display: inline-block !important
  }
}
.inlineBlockMobile {
  display: inline-block !important
}
@media only screen and (min-width:900px) {
  .inlineBlockMobile {
    display: none !important
  }
}
.blockDesktop {
  display: block !important
}
@media only screen and (max-width:900px) {
  .blockDesktop {
    display: none !important
  }
}
.blockMobile {
  display: none !important
}
@media only screen and (max-width:900px) {
  .blockMobile {
    display: block !important
  }
}
.flexDesktop {
  display: none !important
}
@media only screen and (min-width:900px) {
  .flexDesktop {
    display: flex !important
  }
}
.flexMobile {
  display: flex !important
}
@media only screen and (min-width:900px) {
  .flexMobile {
    display: none !important
  }
}
.onlyIE {
  display: none
}
.ie .onlyIE {
  display: block
}
.anchor {
  position: absolute
}
@media only screen and (min-width:900px) {
  .anchor {
    top: -120px
  }
}
@media only screen and (max-width:900px) {
  .anchor {
    top: -80px
  }
}
@font-face {
  font-family: iconfont;
  src: url("../font/dist/iconfont-1623040246140.eot");	
  src: url("../font/dist/iconfont-1623040246140.eot#iefix") format("eot"), url("../font/dist/iconfont-1623040246140.woff2") format("woff2"), url("../font/dist/iconfont-1623040246140.woff") format("woff"), url("../font/dist/iconfont-1623040246140.ttf") format("truetype"), url("../font/dist/iconfont-1623040246140.svg#iconfont") format("svg")
}
.anchorMenu_wrap a:before, .businessPride_button a:before, .businessPride_modal a i:before, .businessSystemKind_list a i:before, .businessTab_plus:before, .buttonFill.is-blank a i:before, .buttonFill a i:before, .buttonFill button i:before, .buttonFrame a i:before, .buttonMore > a i:before, .buttonMore > div i:before, .cursor i:before, .entryMenu:before, .entryModal_close:before, .globalMenu_logo:before, .globalMenuEntry_item i:before, .globalMenuSub_item.is-blank i:before, .globalMenuSub_item i:before, .header_logo:before, .homeNews_arrow:before, .homeNewsCard:before, .homeNewsHead_button a i:before, .homeRecruit .buttonFill a i:before, .homeRecruit .buttonFrame a i:before, .kind_paging a:before, .paging_arrow:before, .recruitFlow_body.is-flex > i:before, .recruitRefineCard .buttonFill a i:before, .remodal-close:before, .storyMenu_section:before {
  font-family: iconfont;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  text-decoration: none;
  text-transform: none
}
body {
  color: #333;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-family: Noto Sans JP, Yu Gothic Medium, 游ゴシック Medium, YuGothic, 游ゴシック体, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ ProN W3, Verdana, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased
}
.sample {
  -webkit-transform: none;
  transform: none;
  -webkit-transform: matrix(1, 2, 3, 4, 5, 6);
  transform: matrix(1, 2, 3, 4, 5, 6);
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
  -webkit-transform: perspective(17px);
  transform: perspective(17px);
  -webkit-transform: rotate3d(1, 2, 3, 10deg);
  transform: rotate3d(1, 2, 3, 10deg);
  -webkit-transform: rotateX();
  transform: rotateX();
  -webkit-transform: rotateY();
  transform: rotateY();
  -webkit-transform: rotate();
  transform: rotate();
  -webkit-transform: translate();
  transform: translate();
  -webkit-transform: translate3d();
  transform: translate3d();
  -webkit-transform: translateX();
  transform: translateX();
  -webkit-transform: translateY();
  transform: translateY();
  -webkit-transform: translateZ();
  transform: translateZ();
  -webkit-transform: scale();
  transform: scale();
  -webkit-transform: scale3d();
  transform: scale3d();
  -webkit-transform: scaleX();
  transform: scaleX();
  -webkit-transform: scaleY();
  transform: scaleY();
  -webkit-transform: scaleZ();
  transform: scaleZ();
  -webkit-transform: skew();
  transform: skew();
  -webkit-transform: skewX();
  transform: skewX();
  -webkit-transform: skewY();
  transform: skewY();
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -webkit-transform: translateX(10px) rotate(10deg) translateY(5px);
  transform: translateX(10px) rotate(10deg) translateY(5px);
  -webkit-transform: perspective(500px) translate(10px) rotateY(3deg);
  transform: perspective(500px) translate(10px) rotateY(3deg);
  -webkit-transform-origin: left center;
  transform-origin: left center;
  transition-delay: .1s;
  transition: 1s cubic-bezier(1, 0, 0, 1);
  transition: 1s cubic-bezier(.77, 0, .175, 1) .4s;
  -webkit-animation: name duration timing-function delay iteration-count direction fill-mode play-state;
  animation: name duration timing-function delay iteration-count direction fill-mode play-state
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1
  }
  to {
    opacity: 0
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1
  }
  to {
    opacity: 0
  }
}
@-webkit-keyframes triggerLine {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50.1% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
}
@keyframes triggerLine {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50.1% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
}
.js-inView.do-fade {
  opacity: 0;
  transition-delay: .2s;
  transition-duration: .7s
}
.js-inView.do-fade.inView {
  opacity: 1
}
.js-inView.do-up {
  opacity: 0;
  transition: 1.4s cubic-bezier(.19, 1, .22, 1);
  -webkit-transform: translate3d(0, 50px, 0);
  transform: translate3d(0, 50px, 0);
  will-change: transform
}
.js-inView.do-up.inView {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform
}
.js-inView.do-left {
  opacity: 0;
  transition: 1.4s cubic-bezier(.19, 1, .22, 1);
  -webkit-transform: translate3d(50px, 0, 0);
  transform: translate3d(50px, 0, 0);
  will-change: transform
}
.js-inView.do-left.inView {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform
}
.js-inView.do-right {
  opacity: 0;
  transition: 1.4s cubic-bezier(.19, 1, .22, 1);
  -webkit-transform: translate3d(-30px, 0, 0);
  transform: translate3d(-30px, 0, 0);
  will-change: transform
}
.js-inView.do-right.inView {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform
}
.js-inView.is-delay01 {
  transition-delay: 0s !important
}
.js-inView.is-delay02 {
  transition-delay: .1s !important
}
.js-inView.is-delay03 {
  transition-delay: .2s !important;
  transition-delay: .3s !important
}
.js-inView.is-delay04 {
  transition-delay: .4s !important
}
.js-inView.is-delay05 {
  transition-delay: .5s !important
}
.js-hover > div {
  position: relative
}
.js-hover > div > span {
  display: block
}
.js-hover > div > span:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0
}
@-webkit-keyframes ArrowMoveRight {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 1
  }
  29.9% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 0
  }
  30% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 0
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1
  }
}
@keyframes ArrowMoveRight {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 1
  }
  29.9% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 0
  }
  30% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 0
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1
  }
}
@-webkit-keyframes MoveRight_ {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  29.9% {
    -webkit-transform: translateX(50px);
    transform: translateX(50px)
  }
  30% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px)
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}
@keyframes MoveRight_ {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  29.9% {
    -webkit-transform: translateX(50px);
    transform: translateX(50px)
  }
  30% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px)
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}
@-webkit-keyframes ArrowMoveRightReverse {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1
  }
  29.9% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 0
  }
  30% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 0
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 1
  }
}
@keyframes ArrowMoveRightReverse {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1
  }
  29.9% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 0
  }
  30% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 0
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    opacity: 1
  }
}
.js-lag > * {
  transition: 2.1s cubic-bezier(.075, .82, .165, 1)
}
@-webkit-keyframes clipX {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
@keyframes clipX {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
@-webkit-keyframes clipY {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
@keyframes clipY {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
@-webkit-keyframes ArrowDownAnimation {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
  49.9% {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
    opacity: 0
  }
  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
    opacity: 0
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes ArrowDownAnimation {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
  49.9% {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
    opacity: 0
  }
  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
    opacity: 0
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
}
.js-scrollParallax {
  overflow: hidden
}
.js-scrollParallax .js-target {
  transition: 1.9s cubic-bezier(.19, 1, .22, 1)
}
@media only screen and (max-width:900px) {
  .js-scrollParallax .js-target {
    transition: 1.9s cubic-bezier(.19, 1, .22, 1)
  }
}
.footer {
  overflow: hidden;
  position: relative;
  z-index: 10
}
.footer_head {
  margin-bottom: -1px
}
.footer_head img {
  width: calc(100% + 4px);
  max-width: none;
  margin-left: -2px;
  height: auto;
  display: block
}
.footer_container {
  background-color: #e60033
}
.footer_wrap {
  max-width: 562px;
  margin: 0 auto;
  padding: 5px 0 130px
}
@media only screen and (max-width:900px) {
  .footer_wrap {
    max-width: 400px;
    padding-bottom: 40px
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .footer_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.footer_logo {
  width: 124px;
  margin: 0 auto 80px
}
.footer_copyright {
  background-color: #ECECEC;
  text-align: center;
  padding: 20px 0
}
@media only screen and (max-width:900px) {
  .footer_copyright {
    padding: 7px 0 70px
  }
}
.footer_copyright p {
  font-size: 1.1rem;
  letter-spacing: .05em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .footer_copyright p {
    font-size: 1rem
  }
}
@media only screen and (min-width:900px) {
  .page--home .footer {
    margin-top: -170px
  }
}
@media only screen and (max-width:900px) {
  .page--home .footer {
    margin-top: -120px
  }
}
@media only screen and (min-width:900px) {
  .page--specialArchive .footer {
    margin-top: -190px
  }
}
@media only screen and (min-width:900px) {
  .page--specialSingle .footer {
    margin-top: -342px
  }
}
@media only screen and (min-width:900px) {
  .page--philosophy .footer {
    margin-top: -60px
  }
}
@media only screen and (max-width:900px) {
  .page--philosophy .footer {
    margin-top: -30px
  }
}
@media only screen and (min-width:900px) {
  .page--business .footer {
    margin-top: -130px
  }
}
@media only screen and (max-width:900px) {
  .page--business .footer {
    margin-top: -30px
  }
}
@media only screen and (min-width:900px) {
  .page--interviewArchive .footer {
    margin-top: -330px
  }
}
@media only screen and (max-width:900px) {
  .page--interviewArchive .footer {
    margin-top: -27vw
  }
}
@media only screen and (min-width:900px) {
  .page--interviewSingle .footer {
    margin-top: -330px
  }
}
@media only screen and (max-width:900px) {
  .page--interviewSingle .footer {
    margin-top: -27vw
  }
}
@media only screen and (min-width:900px) {
  .page--new_graduate .footer {
    margin-top: 40px
  }
}
@media only screen and (max-width:900px) {
  .page--new_graduate .footer {
    margin-top: 0
  }
}
.globalMenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 20;
  pointer-events: none;
  visibility: hidden
}
.show-menu .globalMenu {
  visibility: visible;
  pointer-events: auto
}
.globalMenu:before {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 0;
  background-color: #e60033;
  width: 100%;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
  transition: 1s cubic-bezier(.19, 1, .22, 1)
}
.show-menu .globalMenu:before {
  visibility: visible;
  height: 100%
}
@media only screen and (min-width:900px) {
  .globalMenu_container {
    display: grid;
    place-items: center;
    height: 100%
  }
}
.globalMenu_wrap {
  position: relative;
  z-index: 1;
  margin: 0 auto
}
@media only screen and (min-width:900px) {
  .globalMenu_wrap {
    display: flex;
    justify-content: space-between;
    width: 926px
  }
}
@media only screen and (min-width:900px) {
  .globalMenu_content {
    padding-right: 4.3%;
    width: 65%
  }
}
@media only screen and (max-width:900px) {
  .globalMenu_content {
    width: 82.66667%;
    margin: 0 auto;
    max-width: 400px
  }
}
.globalMenu_logo {
  position: relative;
  text-align: center
}
.globalMenu_logo:before {
  content: ""
}
.globalMenu_logo a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1
}
.globalMenu .globalMenu_logo {
  width: 123px;
  margin-left: 10px
}
@media only screen and (max-width:900px) {
  .globalMenu .globalMenu_logo {
    width: 120px;
    margin: 50px auto
  }
}
.footer .globalMenu_logo {
  width: 122px;
  margin: 44px auto 80px
}
@media only screen and (max-width:900px) {
  .footer .globalMenu_logo {
    margin: 25px auto 40px;
    text-align: center
  }
}
.globalMenu_logo:before {
  color: #fff;
  font-size: 86px
}
.globalMenu .globalMenu_logo:before {
  font-size: 123px
}
@media only screen and (max-width:900px) {
  .globalMenu .globalMenu_logo:before {
    font-size: 73px
  }
}
.footer .globalMenu_logo:before {
  font-size: 122px
}
@media only screen and (max-width:900px) {
  .footer .globalMenu_logo:before {
    font-size: 75px
  }
}
.globalMenu_logo span {
  display: block;
  color: #fff;
  font-weight: 700;
  line-height: 1.41667;
  margin-top: 15px;
  letter-spacing: .04em;
  font-family: Sen, sans-serif;
}
.globalMenu .globalMenu_logo span {
  font-size: 1.024rem
}
@media only screen and (max-width:900px) {
  .globalMenu .globalMenu_logo span {
    margin-top: 10px
  }
}
.footer .globalMenu_logo span {
  font-size: 1.2rem
}
@media only screen and (max-width:900px) {
  .footer .globalMenu_logo span {
    font-size: .7rem;
    margin-top: 5px;
    white-space: nowrap
  }
}
.globalMenu_copyright {
  color: #fff;
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .globalMenu_copyright {
    text-align: center;
    width: 100%;
    left: 0
  }
}
.globalMenu_copyright p {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .05em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .globalMenu_copyright p {
    font-size: 1rem
  }
}
.globalMenuMain {
  margin-bottom: 65px;
  display: flex;
  justify-content: space-between
}
@media only screen and (max-width:900px) {
  .globalMenuMain {
    margin-bottom: 30px
  }
}
.globalMenuMain_item {
  width: 17.8%;
  position: relative
}
.globalMenuMain_item:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .globalMenuMain_item {
    width: 60px
  }
}
.globalMenuMain_item > div {
  display: flex;
  flex-direction: row-reverse
}
.globalMenuMain_en {
  font-size: 1rem;
  letter-spacing: .04em;
  margin-left: 10px;
  color: #fff;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .globalMenuMain_en {
    font-size: 6px;
    margin-left: 5px
  }
}
.globalMenuMain_jp {
  display: flex;
  flex-direction: row-reverse
}
.globalMenuMain_jp > div {
  margin-left: 8px
}
@media only screen and (max-width:900px) {
  .globalMenuMain_jp > div {
    margin-left: 4px;
    text-align: center
  }
}
.globalMenuMain_jp > div span {
  background-color: #fff;
  font-size: 2.2rem;
  letter-spacing: .22em;
  color: #333;
  padding: 10px 7px 4px;
  font-weight: 700;
  display: block;
  width: 36px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .globalMenuMain_jp > div span {
    letter-spacing: .24em;
    font-size: 1.4rem;
    padding: 5px 3px 2px;
    width: 20px
  }
}
.globalMenuSub {
  display: flex;
  flex-wrap: wrap
}
@media only screen and (max-width:900px) {
  .globalMenuSub {
    justify-content: space-between
  }
}
.globalMenu .globalMenuSub, .globalMenuSub_item {
  justify-content: space-between
}
.globalMenuSub_item {
  display: flex;
  align-items: center;
  border-bottom: 3px solid #fff
}
@media only screen and (min-width:900px) {
  .globalMenuSub_item {
    width: 30%;
    margin: 0 5% 25px 0;
    padding-bottom: 8px
  }
  .globalMenuSub_item:nth-child(3n) {
    margin-right: 0
  }
}
@media only screen and (max-width:900px) {
  .globalMenuSub_item {
    width: 47%;
    margin: 0 0 20px;
    padding-bottom: 5px
  }
}
.globalMenu .globalMenuSub_item {
  width: 30%;
  margin: 0
}
@media only screen and (max-width:900px) {
  .globalMenu .globalMenuSub_item {
    width: 48%;
    margin-bottom: 15px
  }
}
.globalMenuSub_item span {
  font-size: 1.3rem;
  letter-spacing: .1em;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  font-family: Sen, Noto Sans JP, Yu Gothic Medium, 游ゴシック Medium, YuGothic, 游ゴシック体, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ ProN W3, Verdana, Meiryo, sans-serif
}
@media only screen and (max-width:900px) {
  .globalMenuSub_item span {
    font-size: 1.2rem
  }
}
.globalMenu .globalMenuSub_item span {
  font-size: 1.7rem
}
@media only screen and (max-width:900px) {
  .globalMenu .globalMenuSub_item span {
    font-size: 1.2rem
  }
}
.globalMenuSub_item i:before {
  content: "▸";
  color: #fff;
  font-size: 25px
}
@media only screen and (max-width:900px) {
  .globalMenuSub_item i:before {
    font-size: 23px
  }
}
.globalMenuSub_item.is-blank i {
  margin-right: 5px
}
.globalMenuSub_item.is-blank i:before {
  content: "❏";
  font-size: 12px	
}
@media only screen and (max-width:900px) {
  .globalMenuSub_item.is-blank i:before {
    font-size: 10px
  }
}
@media only screen and (min-width:900px) {
  .globalMenuSub_item:hover i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.globalMenuEntry {
  margin-bottom: 60px
}
@media only screen and (max-width:900px) {
  .globalMenuEntry {
    margin-bottom: 40px
  }
}
.globalMenuEntry_headline {
  font-size: 2.4rem;
  letter-spacing: .04em;
  font-weight: 700;
  position: relative;
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .globalMenuEntry_headline {
    font-size: 1.7rem;
    margin-bottom: 15px
  }
}
.globalMenuEntry_headline:after, .globalMenuEntry_headline:before {
  width: calc(50% - 60px);
  height: 2px;
  position: absolute;
  top: calc(50% - 2px);
  content: "";
  display: block;
  background-color: #fff
}
@media only screen and (max-width:900px) {
  .globalMenuEntry_headline:after, .globalMenuEntry_headline:before {
    width: calc(50% - 40px)
  }
}
.globalMenuEntry_headline:before {
  left: 0
}
.globalMenuEntry_headline:after {
  right: 0
}
.globalMenuEntry_item, .globalMenuEntry_wrap {
  display: flex;
  justify-content: space-between
}
.globalMenuEntry_item {
  border: 2px solid #fff;
  padding: 6px 15px 10px;
  align-items: center;
  color: #fff
}
@media only screen and (max-width:900px) {
  .globalMenuEntry_item {
    padding: 6px 3vw;
    display: block;
    text-align: center
  }
}
@media screen and (max-width:360px) {
  .globalMenuEntry_item {
    padding: 4px 2vw
  }
}
@media only screen and (min-width:900px) {
  .globalMenuEntry_item:hover i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.globalMenuEntry_item span {
  font-size: 1.7rem;
  letter-spacing: .15em;
  font-weight: 700;
  white-space: nowrap
}
@media only screen and (max-width:900px) {
  .globalMenuEntry_item span {
    font-size: 1.2rem;
    display: block
  }
}
@media screen and (max-width:360px) {
  .globalMenuEntry_item span {
    font-size: 1rem
  }
}
.globalMenuEntry_item i {
  margin-left: 10px
}
.globalMenuEntry_item i:before {
  content: "";
  font-weight: 700;
  font-size: 24px
}
@media only screen and (max-width:900px) {
  .globalMenuEntry_item i:before {
    display: none
  }
}
.globalMenu_wrap {
  opacity: 0;
  transition-delay: 0s
}
.show-menu .globalMenu_wrap {
  opacity: 1;
  transition-duration: 1.7s;
  transition-timing-function: cubic-bezier(.165, .84, .44, 1);
  transition-delay: .6s
}
.globalMenuMain_item > div {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0)
}
@media only screen and (min-width:900px) {
  .globalMenuMain_item:hover > div {
    -webkit-animation: globalMenuHover 1s cubic-bezier(.785, .135, .15, .86) 0s normal forwards;
    animation: globalMenuHover 1s cubic-bezier(.785, .135, .15, .86) 0s normal forwards
  }
}
@-webkit-keyframes globalMenuHover {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }
  40% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0)
  }
  40.1% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }
}
@keyframes globalMenuHover {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }
  40% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0)
  }
  40.1% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 11;
  width: 100%;
  visibility: hidden;
  pointer-events: none
}
.is-loaded .header {
  visibility: visible
}
.header_wrap {
  padding-left: 2.19619%;
  display: flex;
  justify-content: space-between
}
@media only screen and (max-width:900px) {
  .header_wrap {
    padding-left: 4.8%
  }
}
.header_content, .header_logo {
  display: flex;
  align-items: center
}
.header_logo {
  position: relative;
  /*width: 370px;*/
  width: 200px;
  height: 71px;
  margin-top: 24px;
  /*color: #e60033;*/
  pointer-events: auto;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
.header_logo:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .header_logo {
    width: 130px;
    height: 42px;
    margin-top: 16px
  }
}
.show-footer .header_logo, .show-hero.page--home .header_logo {
  color: #fff
}
.header_logo:before {
  font-size: 74px
}
@media only screen and (max-width:900px) {
  .header_logo:before {
    font-size: 43px
  }
}
.header_logo a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1
}
.header_logo span {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  margin-left: 15px;
  letter-spacing: .04em;
  font-family: Sen, sans-serif;
  ;
  color: #e60033
}
@media only screen and (max-width:900px) {
  .header_logo span {
    font-size: .9rem;
    margin-left: 11px
  }
}
.header_entryButton {
  margin-right: 100px;
  margin-top: 20px
}
@media only screen and (max-width:900px) {
  .header_entryButton {
    display: none
  }
}
.header_entryButton a {
  width: 110px;
  height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #e60033;
  color: #e60033;
  pointer-events: auto;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
.show-footer .header_entryButton a, .show-hero.page--home .header_entryButton a {
  color: #fff;
  border-color: #fff
}
.header_entryButton a span {
  font-size: 1.6rem;
  letter-spacing: .16em;
  font-weight: 700;
  font-family: Sen, sans-serif;
}
@media only screen and (min-width:768px) {
  .header_entryButton a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .header_entryButton a:hover {
    color: #fff;
    background-color: #e60033
  }
  .show-hero.page--home .header_entryButton a:hover {
    color: #e60033;
    background-color: #fff
  }
}
.page--home .header_wrap {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  transition: 1s cubic-bezier(.19, 1, .22, 1) 2.8s
}
.page--home.is-loaded .header_wrap {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
.page--home .trigger_transition {
  -webkit-transform: translateY(-68px);
  transform: translateY(-68px);
  transition: 1s cubic-bezier(.19, 1, .22, 1) 2.8s
}
.page--home.is-loaded .trigger_transition {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
body.show-menu {
  overflow: hidden
}
body.is-lock {
  pointer-events: none
}
body:before {
  position: fixed;
  display: block;
  left: calc(50% - 1px);
  top: 0;
  height: 100%;
  z-index: 99999999;
  background-color: red;
  width: 2px
}
@media only screen and (max-width:900px) {
  .container:not(.has-sticky) {
    overflow-x: hidden
  }
}
.page--specialSingle .container {
  overflow: hidden
}
@media only screen and (min-width:900px) {
  .main {
    margin-left: auto;
    margin-right: auto;
    max-width: 1034px;
    padding-left: 55px;
    padding-right: 55px
  }
}
@media only screen and (max-width:900px) {
  .main {
    width: 100%
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .main {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.trigger {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 0;
  top: 47px;
  z-index: 21;
  pointer-events: auto;
  width: 64px;
  height: 21px
}
@media only screen and (min-width:900px) {
  .trigger:hover .trigger_inner span {
    transition-delay: 0 !important
  }
}
@media only screen and (max-width:900px) {
  .trigger {
    top: 30px;
    width: 60px;
    height: 14px
  }
}
.trigger:before {
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  cursor: pointer;
  position: absolute;
  left: -10px;
  top: -10px;
  content: ""
}
.trigger_inner {
  position: relative;
  height: 100%;
  display: block;
  transition: all .4s;
  box-sizing: border-box
}
.trigger_inner:before {
  background-color: red;
  width: 1px;
  height: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  z-index: 1
}
@media only screen and (min-width:900px) {
  .show-menu .trigger_inner:hover span {
    background-color: #fff
  }
}
.trigger_inner span {
  display: block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  width: 100%;
  height: 5px;
  left: 0;
  background-color: #e60033
}
@media only screen and (max-width:900px) {
  .trigger_inner span {
    height: 4px
  }
}
.show-footer .trigger_inner span, .show-hero.page--home .trigger_inner span, .show-menu .trigger_inner span {
  background-color: #fff
}
.trigger_inner span:first-child {
  top: 0;
  -webkit-animation: closeTrigger1 .6s cubic-bezier(.445, .05, .55, .95) forwards;
  animation: closeTrigger1 .6s cubic-bezier(.445, .05, .55, .95) forwards
}
.trigger_inner span:nth-child(2) {
  bottom: 0;
  -webkit-animation: closeTrigger2 .6s cubic-bezier(.445, .05, .55, .95) forwards;
  animation: closeTrigger2 .6s cubic-bezier(.445, .05, .55, .95) forwards
}
.show-menu .trigger_inner span:first-child {
  -webkit-animation: openTrigger1 .6s cubic-bezier(.445, .05, .55, .95) forwards;
  animation: openTrigger1 .6s cubic-bezier(.445, .05, .55, .95) forwards;
  top: -2px
}
@media only screen and (max-width:900px) {
  .show-menu .trigger_inner span:first-child {
    top: -5px
  }
}
.show-menu .trigger_inner span:nth-child(2) {
  -webkit-animation: openTrigger2 .6s cubic-bezier(.445, .05, .55, .95) forwards;
  animation: openTrigger2 .6s cubic-bezier(.445, .05, .55, .95) forwards;
  bottom: -2px
}
@media only screen and (max-width:900px) {
  .show-menu .trigger_inner span:nth-child(2) {
    bottom: -5px
  }
}
@-webkit-keyframes closeTrigger1 {
  0% {
    -webkit-transform: translateY(10px) rotate(15deg);
    transform: translateY(10px) rotate(15deg)
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
    transform: translateY(10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
}
@keyframes closeTrigger1 {
  0% {
    -webkit-transform: translateY(10px) rotate(15deg);
    transform: translateY(10px) rotate(15deg)
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
    transform: translateY(10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
}
@-webkit-keyframes closeTrigger2 {
  0% {
    -webkit-transform: translateY(-10px) rotate(-15deg);
    transform: translateY(-10px) rotate(-15deg)
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
    transform: translateY(-10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
}
@keyframes closeTrigger2 {
  0% {
    -webkit-transform: translateY(-10px) rotate(-15deg);
    transform: translateY(-10px) rotate(-15deg)
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
    transform: translateY(-10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
}
@-webkit-keyframes openTrigger1 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
    transform: translateY(10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(10px) rotate(15deg) skewX(15.6deg);
    transform: translateY(10px) rotate(15deg) skewX(15.6deg)
  }
}
@keyframes openTrigger1 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
    transform: translateY(10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(10px) rotate(15deg) skewX(15.6deg);
    transform: translateY(10px) rotate(15deg) skewX(15.6deg)
  }
}
@-webkit-keyframes openTrigger2 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
    transform: translateY(-10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(-10px) rotate(-15deg) skewX(-15.6deg);
    transform: translateY(-10px) rotate(-15deg) skewX(-15.6deg)
  }
}
@keyframes openTrigger2 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0)
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
    transform: translateY(-10px) rotate(0)
  }
  to {
    -webkit-transform: translateY(-10px) rotate(-15deg) skewX(-15.6deg);
    transform: translateY(-10px) rotate(-15deg) skewX(-15.6deg)
  }
}
@-webkit-keyframes hover-bar {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50.1% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
}
@keyframes hover-bar {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center
  }
  50.1% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center
  }
}
.anchorMenu {
  background-color: #fff
}
.anchorMenu_wrap {
  padding: 33px 0;
  display: flex
}
@media only screen and (min-width:900px) {
  .anchorMenu_wrap {
    margin-left: auto;
    margin-right: auto;
    max-width: 1034px;
    padding-left: 55px;
    padding-right: 55px
  }
}
@media only screen and (max-width:900px) {
  .anchorMenu_wrap {
    width: 100%;
    padding: 19px 5%
  }
}
.anchorMenu_wrap a {
  margin-right: 68px;
  display: flex;
  align-items: center;
  overflow: hidden;
  cursor: pointer;
  font-weight: 700
}
.anchorMenu_wrap a:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .anchorMenu_wrap a {
    margin-right: 30px
  }
}
@media only screen and (min-width:900px) {
  .anchorMenu_wrap a:hover:before {
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.165, .84, .44, 1);
    animation-timing-function: cubic-bezier(.165, .84, .44, 1);
    -webkit-animation-name: ArrowDownAnimation;
    animation-name: ArrowDownAnimation
  }
}
.anchorMenu_wrap a:last-child {
  margin-right: 0
}
.anchorMenu_wrap a:before {
  font-size: 9px;
  font-weight: 700;
  margin-right: 15px;
  display: block
}
.anchorMenu_wrap a > span {
  font-size: 1.6rem
}
@media only screen and (max-width:900px) {
  .anchorMenu_wrap a > span {
    font-size: 1.2rem;
    white-space: nowrap
  }
}
.buttonMore.is-white i, .buttonMore.is-white span {
  color: #fff
}
.buttonMore > a, .buttonMore > div {
  display: flex;
  align-items: center;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
.buttonMore > a span, .buttonMore > div span {
  font-size: 1.6rem;
  letter-spacing: .28em;
  font-weight: 700;
  margin-right: 8px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .buttonMore > a span, .buttonMore > div span {
    font-size: 1rem
  }
}
.is-white .buttonMore > a span, .is-white .buttonMore > div span {
  color: #fff
}
.buttonMore > a i, .buttonMore > div i {
  padding-bottom: 3px
}
.buttonMore > a i:before, .buttonMore > div i:before {
  content: "⇀";
  font-size: 43px
}
@media only screen and (max-width:900px) {
  .buttonMore > a i:before, .buttonMore > div i:before {
    font-size: 28px
  }
}
.is-white .buttonMore > a i:before, .is-white .buttonMore > div i:before {
  color: #fff
}
@media only screen and (min-width:900px) {
  .buttonMore > a:hover i, .buttonMore > div:hover i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.buttonMore.is-white a i:before, .buttonMore.is-white a span {
  color: #fff
}
.homeRecruit .buttonFill a {
  padding: 0 7%
}
.homeRecruit .buttonFill a span {
  font-size: 1rem;
  letter-spacing: .3em;
  white-space: nowrap
}
@media only screen and (max-width:900px) {
  .homeRecruit .buttonFill a span {
    font-size: 1.4rem
  }
}
.homeRecruit .buttonFill a i:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .homeRecruit .buttonFill a i:before {
    font-size: 38px
  }
}
.entryMenu .buttonFill a {
  width: 162px;
  height: 40px;
  justify-content: center;
  margin: 0 auto
}
.entryMenu .buttonFill a span {
  font-size: 1rem;
  letter-spacing: .3em;
  font-family: Sen, sans-serif;
}
.entryMenu .buttonFill a i {
  margin-left: 25px
}
.recruitRefineCard .buttonFill a {
  height: 32px;
  padding: 0 7%;
  font-size: 1.3rem
}
@media only screen and (max-width:900px) {
  .recruitRefineCard .buttonFill a {
    font-size: 1.2rem;
    height: 40px;
    padding: 0 10%
  }
}
.recruitRefineCard .buttonFill a span {
  letter-spacing: .1em
}
.recruitRefineCard .buttonFill a i:before {
  content: "⇀";
  font-size: 40px
}
.recruitMenu .buttonFill {
  height: 60px;
  max-width: 280px;
  margin: 0 auto
}
.recruitMenu .buttonFill a {
  padding: 0 12.5%
}
@media only screen and (max-width:900px) {
  .recruitMenu .buttonFill a {
    padding: 0 10%
  }
}
.recruitMenu .buttonFill a span {
  font-size: 1.6rem;
  letter-spacing: .18em
}
.recruitMenu .buttonFill a i:before {
  font-size: 40px
}
.faqCard .buttonFill {
  height: 60px
}
@media only screen and (min-width:900px) {
  .faqCard .buttonFill {
    max-width: 212px
  }
}
.faqCard .buttonFill a {
  padding: 0 12.5%
}
.faqCard .buttonFill a span {
  font-size: 1.6rem;
  letter-spacing: .18em
}
@media only screen and (max-width:900px) {
  .faqCard .buttonFill a span {
    font-size: 1.4rem
  }
}
.faqCard .buttonFill a i:before {
  font-size: 40px
}
.formButton .buttonFill a, .formButton .buttonFill button {
  width: 280px;
  height: 60px;
  padding: 0 10%
}
.formButton .buttonFill a span, .formButton .buttonFill button span {
  font-size: 1.6rem;
  letter-spacing: .1em
}
.formButton .buttonFill a i, .formButton .buttonFill button i {
  margin-left: 0
}
.formButton .buttonFill a i:before, .formButton .buttonFill button i:before {
  font-size: 40px
}
.recruitOutline .buttonFill a, .statement .buttonFill a {
  max-width: 280px;
  height: 60px;
  padding: 0 3% 0 4%
}
@media only screen and (max-width:900px) {
  .recruitOutline .buttonFill a, .statement .buttonFill a {
    margin: 0 auto;
    padding: 0 25px
  }
}
.recruitOutline .buttonFill a span, .statement .buttonFill a span {
  font-size: 1.6rem;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .recruitOutline .buttonFill a span, .statement .buttonFill a span {
    font-size: 1.4rem
  }
}
.recruitOutline .buttonFill a i:before, .statement .buttonFill a i:before {
  font-size: 44px
}
.article .buttonFill a {
  width: 204px;
  height: 60px;
  padding: 0 3%
}
@media only screen and (max-width:900px) {
  .article .buttonFill a {
    padding: 0 8% 0 10%;
    max-width: 247px
  }
}
.article .buttonFill a span {
  font-size: 1.6rem;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .article .buttonFill a span {
    font-size: 1.2rem
  }
}
.article .buttonFill a i {
  margin-left: 0
}
.article .buttonFill a i:before {
  font-size: 44px
}
.recruit_button .buttonFill a {
  max-width: 280px;
  height: 60px;
  padding: 0 30px;
  margin: 0 auto
}
.recruit_button .buttonFill a span {
  font-size: 1.6rem;
  letter-spacing: .3em
}
.recruit_button .buttonFill a i {
  margin-left: 0
}
.recruit_button .buttonFill a i:before {
  font-size: 44px
}
.buttonFill button {
  cursor: pointer
}
.buttonFill a, .buttonFill button {
  background-color: #e60033;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  border: 1px solid #e60033;
  height: 60px;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
.buttonFill a span, .buttonFill button span {
  font-weight: 700;
  font-family: Sen, Noto Sans JP, Yu Gothic Medium, 游ゴシック Medium, YuGothic, 游ゴシック体, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ ProN W3, Verdana, Meiryo, sans-serif
}
.buttonFill a i, .buttonFill button i {
  margin-left: 20px
}
.buttonFill a i:before, .buttonFill button i:before {
  content: "⇀";
  font-size: 22px;
  display: block
}
@media only screen and (min-width:900px) {
  .buttonFill a:hover, .buttonFill button:hover {
    background-color: #fff;
    color: #e60033
  }
  .buttonFill a:hover i, .buttonFill button:hover i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.buttonFill.is-back a i:before {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}
@media only screen and (min-width:900px) {
  .buttonFill.is-back a:hover {
    background-color: #e60033;
    color: #fff
  }
  .buttonFill.is-back a:hover i {
    -webkit-animation-duration: .6s;
    animation-duration: .6s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRightReverse;
    animation-name: ArrowMoveRightReverse
  }
}
.buttonFill.is-white a {
  background-color: #fff;
  color: #e60033;
  border-color: #fff
}
.buttonFill.is-blank a i:before {
  content: "";
  font-size: 16px
}
.buttonFrame {
  width: 374px;
  height: 60px
}
@media only screen and (max-width:900px) {
  .homeRecruit .buttonFrame a span {
    font-size: 1.3rem
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit .buttonFrame a i:before {
    content: ""
  }
}
.buttonFrame a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid;
  height: 100%;
  padding: 0 25px;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
.buttonFrame a span {
  font-size: 2rem;
  letter-spacing: .18em;
  font-weight: 700
}
.buttonFrame a i {
  display: block
}
.buttonFrame a i:before {
  content: "";
  font-size: 42px
}
@media only screen and (min-width:900px) {
  .buttonFrame a:hover {
    background-color: #fff
  }
  .buttonFrame a:hover span {
    color: #e60033
  }
  .buttonFrame a:hover i {
    color: #e60033;
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.buttonFrame.is-white a {
  color: #fff
}
.categoryMenu {
  background-color: #fff
}
.categoryMenu_wrap {
  display: flex;
  justify-content: center
}
@media only screen and (min-width:900px) {
  .categoryMenu_wrap {
    margin-left: auto;
    margin-right: auto;
    max-width: 1034px;
    padding-left: 55px;
    padding-right: 55px
  }
}
@media only screen and (max-width:900px) {
  .categoryMenu_wrap {
    width: 100%;
    padding: 0 5%;
    justify-content: space-between
  }
}
.categoryMenu_wrap a {
  padding: 33px 0;
  margin-right: 68px;
  display: block;
  position: relative
}
@media only screen and (max-width:900px) {
  .categoryMenu_wrap a {
    margin-right: 0;
    padding: 19px 0
  }
}
.categoryMenu_wrap a:last-child {
  margin-right: 0
}
.categoryMenu_wrap a.is-current:before {
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #e60033;
  bottom: -4px;
  left: 0;
  content: "";
  display: block
}
.categoryMenu_wrap a.is-current > span {
  color: #e60033
}
.categoryMenu_wrap a > span {
  font-size: 1.6rem;
  color: #ccc;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .categoryMenu_wrap a > span {
    font-size: 1.2rem;
    white-space: nowrap
  }
}
.content {
  margin-top: 120px;
  position: relative
}
@media only screen and (max-width:900px) {
  .content {
    margin-top: 50px
  }
}
@media only screen and (min-width:900px) {
  .content_main {
    margin-top: -250px
  }
}
.content_intro {
/*↓認可取得時調整or削除↓*/	
  margin-top: 85px;
/*↑認可取得時調整or削除↑*/		
  margin-bottom: 165px;
  text-align: center
}
@media only screen and (max-width:900px) {
  .content_intro {
    padding: 0 5%;
    margin-bottom: 70px
  }
}
.content_intro p {
  font-size: 1.8rem;
  line-height: 2.33333;
  letter-spacing: .12em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .content_intro p {
    font-size: 1.4rem;
    line-height: 2
  }
}
.content_section {
  margin-bottom: 115px;
  position: relative
}
@media only screen and (max-width:900px) {
  .content_section {
    margin-bottom: 60px
  }
}
.content_wrap {
  max-width: 836px;
  margin: 0 auto
}
@media screen and (max-width:1160px) {
  .content_wrap {
    padding: 0 190px;
    width: 100%;
    max-width: none
  }
}
@media only screen and (max-width:900px) {
  .content_wrap {
    padding: 0
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .content_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.content_headline {
  position: relative;
  margin-bottom: 70px
}
@media only screen and (max-width:900px) {
  .content_headline {
    margin-bottom: 35px
  }
}
.content_headline:before {
  content: "";
  display: block;
  width: 100%;
  height: 24px;
  background-color: #e60033;
  position: absolute;
  left: 0;
  top: calc(50% - 8px)
}
@media only screen and (max-width:900px) {
  .content_headline:before {
    height: 14px;
    width: 110%
  }
}
.content_headline span {
  font-size: 5rem;
  letter-spacing: .12em;
  font-weight: 700;
  background-color: #ECECEC;
  position: relative;
  display: inline-block;
  z-index: 1;
  padding-right: 20px
}
@media only screen and (max-width:900px) {
  .content_headline span {
    font-size: 2.4rem;
    margin-right: 10px
  }
}
.content_lead {
  margin-bottom: 100px
}
@media only screen and (max-width:900px) {
  .content_lead {
    margin-bottom: 50px
  }
}
.content_lead02 {
  margin-bottom: 50px
}
@media only screen and (max-width:900px) {
  .content_lead02 {
    margin-bottom: 10px
  }
}
.content_lead p {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .content_lead p {
    font-size: 1.4rem;
    line-height: 1.92857;
    letter-spacing: .06em
  }
}
.content_category {
  position: absolute;
  right: 0;
  top: 0
}
@media only screen and (max-width:900px) {
  .content_category {
    top: 35px
  }
}
.content_category > div {
  width: 80px
}
@media only screen and (max-width:900px) {
  .content_category > div {
    width: 20px
  }
}
.entryButtonMobile {
  position: fixed;
  bottom: 0;
  left: 0;
  height: 68px;
  width: 100%;
  z-index: 11;
  opacity: 0;
  transition-delay: 1s
}
.is-loaded .entryButtonMobile {
  opacity: 1
}
@media only screen and (min-width:900px) {
  .entryButtonMobile {
    display: none
  }
}
.entryButtonMobile_content {
  transition: 1s cubic-bezier(.075, .82, .165, 1);
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
.is-scrolling .entryButtonMobile_content, .show-hero .entryButtonMobile_content {
  -webkit-transform: translateY(100%);
  transform: translateY(100%)
}
.entryButtonMobile a {
  display: grid;
  place-items: center;
  background-color: #e60033;
  height: 100%
}
.entryButtonMobile a span {
  font-size: 2rem;
  color: #fff;
  letter-spacing: .16em;
  font-family: Sen, sans-serif;
}
.entryModal {
  display: grid;
  place-items: center;
  height: 100%;
  width: 100%
}
@media only screen and (min-width:900px) {
  .entryModal_container {
    max-width: 1025px;
    margin: 0 auto;
    width: 90%
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .entryModal_container {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.entryModal_content {
  border: 2px solid #fff;
  padding: 50px 0;
  position: relative
}
@media only screen and (max-width:900px) {
  .entryModal_content {
    padding: 25px 0
  }
}
.entryModal_close {
  width: 20px;
  height: 20px;
  position: absolute;
  right: 20px;
  top: 20px;
  cursor: pointer;
  z-index: 1
}
.entryModal_close:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .entryModal_close {
    right: 15px;
    top: 10px;
    width: 10px;
    height: 10px
  }
}
.entryModal_close:before {
  font-size: 20px;
  color: #fff
}
@media only screen and (max-width:900px) {
  .entryModal_close:before {
    font-size: 14px
  }
}
@media only screen and (min-width:768px) {
  .entryModal_close {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .entryModal_close:hover {
    opacity: .6
  }
}
.entryModal_headline {
  font-size: 4rem;
  color: #fff;
  margin-bottom: 50px;
  text-align: center;
  letter-spacing: .16em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .entryModal_headline {
    font-size: 2.1rem;
    margin-bottom: 25px
  }
}
.entryModal_list {
  margin: 0 auto
}
@media only screen and (min-width:900px) {
  .entryModal_list {
    display: flex;
    justify-content: space-between;
    width: 82%
  }
}
@media only screen and (max-width:900px) {
  .entryModal_list {
    width: 87.09677%
  }
}
.entryMenu {
  background-color: #fff;
  position: relative
}
@media only screen and (min-width:900px) {
  .entryMenu {
    text-align: center;
    padding: 40px 0;
    width: 31.3%
  }
}
@media only screen and (max-width:900px) {
  .entryMenu {
    margin-bottom: 15px
  }
  .entryMenu:before {
    content: "";
    font-size: 28px;
    position: absolute;
    right: 20px;
    top: calc(50% - 15px)
  }
}
@media only screen and (max-width:900px) {
  .entryMenu:last-child {
    margin-bottom: 0
  }
}
.entryMenu_title {
  font-size: 2rem;
  letter-spacing: .16em;
  font-weight: 700;
  white-space: nowrap
}
@media only screen and (min-width:900px) {
  .entryMenu_title {
    pointer-events: none
  }
}
@media only screen and (max-width:900px) {
  .entryMenu_title {
    font-size: 1.4rem;
    letter-spacing: .24em;
    height: 50px;
    display: flex;
    align-items: center;
    padding-left: 20px
  }
}
.entryMenu .buttonFill {
  margin: 38px auto 0
}
@media only screen and (max-width:900px) {
  .entryMenu .buttonFill {
    display: none
  }
}
button, input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0
}
.formSelect select, input[type=email], input[type=password], input[type=tel], input[type=text], textarea {
  border: 1px solid #e5e5e5;
  background-color: #f8f8f8;
  font-size: 1.4rem;
  padding: 11px 20px;
  box-sizing: border-box;
  color: #000;
  font-family: Noto Sans JP, Yu Gothic Medium, 游ゴシック Medium, YuGothic, 游ゴシック体, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ ProN W3, Verdana, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased
}
@media only screen and (max-width:900px) {
  .formSelect select, input[type=email], input[type=password], input[type=tel], input[type=text], textarea {
    border-width: 1px;
    font-size: 1.6rem;
    padding: 12px 15px
  }
}
textarea {
  height: 150px;
  font-family: Noto Sans JP, Yu Gothic Medium, 游ゴシック Medium, YuGothic, 游ゴシック体, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ ProN W3, Verdana, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased
}
input[type=submit] {
  border: none;
  outline: 0
}
input, select {
  outline: 0
}
::-webkit-input-placeholder {
  color: #ACACAC
}
::-moz-placeholder {
  color: #ACACAC;
  opacity: 1
}
:-ms-input-placeholder {
  color: #ACACAC
}
.formCheckbox {
  display: flex;
  justify-content: center
}
.formCheckbox label {
  display: block;
  cursor: pointer;
  margin-bottom: 20px
}
.formCheckbox label:last-child {
  margin-bottom: 0
}
.formCheckbox label > span {
  padding: 5px 0 0 35px;
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4
}
@media only screen and (max-width:900px) {
  .formCheckbox label > span {
    font-size: 1.2rem
  }
}
.formCheckbox label > span:before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  background: #f8f8f8;
  border: 1px solid #e5e5e5;
  margin-right: 10px;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
@media only screen and (max-width:900px) {
  .formCheckbox label > span:before {
    top: 1px
  }
}
.formCheckbox label > span .is-small {
  font-size: 1.4rem
}
@media only screen and (max-width:900px) {
  .formCheckbox label > span .is-small {
    font-size: 1.2rem
  }
}
.formCheckbox input {
  display: none
}
.formCheckbox input + span:after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 7px;
  width: 5px;
  height: 10px;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
  border-bottom: 2px solid #f8f8f8;
  border-right: 2px solid #f8f8f8
}
@media only screen and (max-width:900px) {
  .formCheckbox input + span:after {
    top: 4px
  }
}
.formCheckbox input:checked + span:before {
  background-color: #000
}
.formRadio {
  display: flex;
  flex-wrap: wrap
}
@media only screen and (min-width:900px) {
  .formRadio {
    margin-top: 13px
  }
}
@media only screen and (max-width:900px) {
  .formRadio {
    width: 100%
  }
}
.formRadio > div {
  display: flex;
  align-items: center;
  margin-right: 20px
}
@media only screen and (max-width:900px) {
  .formRadio > div {
    margin-bottom: 20px
  }
}
.formRadio > div > input[type=radio] {
  display: none
}
.formRadio > div > input[type=radio] label {
  position: relative
}
.formRadio > div > input[type=radio] + label {
  padding-left: 25px;
  position: relative;
  cursor: pointer;
  font-size: 1.4rem
}
@media only screen and (max-width:900px) {
  .formRadio > div > input[type=radio] + label {
    font-size: 1.6rem;
    padding-left: 25px
  }
}
.formRadio > div > input[type=radio] + label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #99bcb3
}
@media only screen and (max-width:900px) {
  .formRadio > div > input[type=radio] + label:before {
    width: 14px;
    height: 14px
  }
}
.formRadio > div > input[type=radio]:checked + label:before {
  background-color: #e60033;
  border-color: #e60033
}
.hero {
  height: 260px;
  position: relative
}
@media only screen and (max-width:900px) {
  .hero {
    height: 188px
  }
}
.page--business .hero, .page--philosophy .hero {
  height: 560px
}
@media only screen and (max-width:900px) {
  .page--business .hero, .page--philosophy .hero {
    height: 360px
  }
}
.hero:first-child {
  margin-top: 210px
}
@media only screen and (max-width:900px) {
  .hero:first-child {
    margin-top: 150px
  }
}
.page--business .hero:first-child, .page--philosophy .hero:first-child {
  margin-top: 373px
}
@media only screen and (max-width:900px) {
  .page--business .hero:first-child, .page--philosophy .hero:first-child {
    margin-top: 300px
  }
}
.hero_background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}
.hero_background > div {
  position: absolute;
  left: 0;
  top: -10%;
  width: 100%;
  height: 110%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.heroHeadline {
  top: -42px;
  left: calc(50% - 34px);
  position: absolute;
  margin-left: -40px
}
@media only screen and (max-width:900px) {
  .heroHeadline {
    margin-left: -30px
  }
}
.interviewHome .heroHeadline {
  position: static
}
.page--business .heroHeadline, .page--philosophy .heroHeadline {
  top: -168px
}
@media only screen and (max-width:900px) {
  .page--business .heroHeadline, .page--philosophy .heroHeadline {
    top: -190px
  }
}
.heroHeadline_wrap {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap-reverse;
  padding-right: 30px;
  position: relative
}
@media only screen and (max-width:900px) {
  .heroHeadline_wrap {
    padding-right: 25px;
    margin-top: -10px
  }
}
.heroHeadline_wrap > * {
  line-height: 1
}
.heroHeadline_en {
  position: absolute;
  right: -3px;
  top: 0;
  height: 100%
}
.heroHeadline_en span {
  font-size: 1.88rem;
  font-weight: 700;
  color: #e60033;
  letter-spacing: .02em;
  white-space: nowrap;
  width: 18px;
  font-family: Sen, sans-serif;
  ;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .heroHeadline_en span {
    font-size: 1.6rem
  }
}
.heroHeadline_title {
  margin-left: 32px
}
.page--interviewArchive .heroHeadline_title, .page--specialArchive .heroHeadline_title {
  margin-left: 71px
}
@media only screen and (max-width:900px) {
  .page--interviewArchive .heroHeadline_title, .page--specialArchive .heroHeadline_title {
    margin-left: 55px
  }
}
.heroHeadline_title span {
  font-size: 3.5rem;
  background-color: #e60033;
  padding: 20px 23px;
  letter-spacing: .2em;
  color: #fff;
  font-weight: 700;
  width: 81px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .heroHeadline_title span {
    width: 64px;
    font-size: 2.8rem;
    padding: 15px 18px
  }
}
.heroHeadline_en {
  overflow: hidden
}
.heroHeadline_en span {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  transition: 1.3s cubic-bezier(.075, .82, .165, 1) .2s
}
.is-loaded .heroHeadline_en span {
  -webkit-transform: translateX(0);
  transform: translateX(0)
}
.heroHeadline_title {
  overflow: hidden
}
.heroHeadline_title > span {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0)
}
.is-loaded .heroHeadline_title > span {
  -webkit-animation: homeHeadlineTitle 1.4s cubic-bezier(.785, .135, .15, .86) .3s normal forwards;
  animation: homeHeadlineTitle 1.4s cubic-bezier(.785, .135, .15, .86) .3s normal forwards
}
@-webkit-keyframes homeHeadlineTitle {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
.illust {
  position: absolute;
  z-index: 5;
  visibility: hidden;
  pointer-events: none
}
.illust.start-drawing {
  visibility: visible
}
.illust svg {
  width: 100%;
  height: auto
}
@media only screen and (min-width:900px) {
  .illust svg path {
    stroke-width: 2px
  }
}
@media only screen and (max-width:900px) {
  .illust svg path {
    stroke-width: 1px
  }
}
@media only screen and (min-width:900px) {
  .homeNews .illust {
    width: 386px;
    left: calc(50% - 192px);
    top: 0
  }
}
@media only screen and (max-width:900px) {
  .homeNews .illust {
    width: 71.46667vw;
    right: 0;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .homeArticle.is-philosophy .illust {
    width: 402px;
    left: calc(50% - 53px);
    top: -11px
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-philosophy .illust {
    width: 70.66667vw;
    right: -2.6vw;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .homeArticle.is-business .illust {
    width: 715px;
    left: calc(50% - 477px);
    top: -20px
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-business .illust {
    width: 59.46667vw;
    left: 12.2%;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .homeArticle.is-interview .illust {
    width: 1118px;
    left: calc(50% - 557px);
    top: -10px
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-interview .illust {
    width: 64.8vw;
    left: 14.1%;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .homeRecruit .illust {
    width: 1025px;
    left: calc(50% - 561px);
    top: -116px
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit .illust {
    width: 77.33333vw;
    left: 14.1%;
    top: -19.9%
  }
}
@media only screen and (min-width:900px) {
  .illust.storyTop01 {
    width: 64.42167%;
    right: 0;
    bottom: 0
  }
}
@media only screen and (max-width:900px) {
  .illust.storyTop01 {
    width: 96vw;
    left: 0;
    bottom: -46.6vw
  }
}
@media only screen and (min-width:900px) {
  .illust.storyTop02 {
    width: 35.50512%;
    left: 0;
    top: 0
  }
}
@media only screen and (max-width:900px) {
  .illust.storyTop02 {
    width: 55.2vw;
    left: -9vw;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .illust.story1_01 {
    width: 1340;
    right: -5px;
    top: 300px
  }
}
@media only screen and (max-width:900px) {
  .illust.story1_01 {
    width: 357px;
    right: 0;
    top: 70vh
  }
}
@media only screen and (min-width:900px) {
  .illust.story1_02 {
    width: 1299px;
    right: 0;
    top: -78px
  }
}
@media only screen and (max-width:900px) {
  .illust.story1_02 {
    width: 391px;
    right: 0;
    top: -16px
  }
}
@media only screen and (min-width:900px) {
  .illust.story1_03 {
    width: 1593px;
    right: -90px;
    top: -80px
  }
}
@media only screen and (max-width:900px) {
  .illust.story1_03 {
    width: 391px;
    right: -7vw;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .illust.story1_04 {
    width: 1439px;
    left: calc(50% - 755px);
    top: -10px
  }
}
@media only screen and (max-width:900px) {
  .illust.story1_04 {
    width: 362px;
    right: 0;
    top: 4px
  }
}
@media only screen and (min-width:900px) {
  .illust.story1_05 {
    width: 1290px;
    left: 0;
    top: 280px
  }
}
@media only screen and (max-width:900px) {
  .illust.story1_05 {
    width: 170px;
    right: 0;
    top: 0
  }
}
@media only screen and (min-width:900px) {
  .illust.story2_01 {
    width: 1366px;
    right: 0;
    top: 490px
  }
}
@media only screen and (max-width:900px) {
  .illust.story2_01 {
    width: 364px;
    left: 0;
    top: 70vh
  }
}
@media only screen and (min-width:900px) {
  .illust.story2_02 {
    width: 1366px;
    left: 0;
    top: -160px
  }
}
@media only screen and (max-width:900px) {
  .illust.story2_02 {
    width: 374px;
    left: 0;
    top: -36px
  }
}
@media only screen and (min-width:900px) {
  .illust.story2_03 {
    width: 1430px;
    right: 0;
    top: -120px
  }
}
@media only screen and (max-width:900px) {
  .illust.story2_03 {
    width: 356px;
    right: -10px;
    top: -18px
  }
}
@media only screen and (min-width:900px) {
  .illust.story2_04 {
    width: 1333px;
    right: 0;
    top: -62px
  }
}
@media only screen and (max-width:900px) {
  .illust.story2_04 {
    width: 355px;
    right: 0;
    top: -38px
  }
}
@media only screen and (min-width:900px) {
  .illust.interview0_01 {
    width: 100%;
    left: 0;
    top: 28vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview0_01 {
    width: 100vw;
    right: 0;
    top: 43vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview1_01 {
    width: 100%;
    right: 0;
    top: 22vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview1_01 {
    width: 100vw;
    right: 0;
    top: 50vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview1_02 {
    width: 100%;
    left: 0;
    top: 33%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview1_02 {
    width: 100vw;
    left: 0;
    top: 39vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview1_03 {
    width: 100%;
    right: 0;
    top: 25%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview1_03 {
    width: 100vw;
    right: 0;
    top: 55vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview1_04 {
    width: 100%;
    left: 0;
    top: 20%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview1_04 {
    width: 100vw;
    right: 0;
    top: 40vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview1_05 {
    width: 100%;
    right: 0;
    top: 13%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview1_05 {
    width: 100vw;
    right: 0;
    top: 35vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview1_06 {
    width: 91.28843%;
    left: 0;
    top: 3%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview1_06 {
    width: 115.73333vw;
    left: -10%;
    top: 3%
  }
}
@media only screen and (min-width:900px) {
  .illust.interview2_01 {
    width: 100%;
    left: 0;
    top: 45vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview2_01 {
    width: 100vw;
    left: 0;
    top: 40vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview2_02 {
    width: 100%;
    left: 0;
    top: 45vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview2_02 {
    width: 100vw;
    right: 0;
    top: 50vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview2_03 {
    width: 100%;
    left: 0;
    top: 20%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview2_03 {
    width: 100vw;
    left: 0;
    top: 28vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview2_04 {
    width: 100%;
    left: 0;
    top: 10vw
  }
}
@media only screen and (max-width:900px) {
  .illust.interview2_04 {
    width: 100vw;
    right: 0;
    top: 45vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview2_05 {
    width: 100%;
    right: 0;
    top: 38%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview2_05 {
    width: 100vw;
    left: 0;
    top: 37vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview2_06 {
    width: 61.05417%;
    left: 0;
    top: 6vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview2_06 {
    width: 90.93333vw;
    left: 0;
    top: 10vw
  }
}
@media only screen and (min-width:900px) {
  .illust.interview3_01 {
    width: 100%;
    left: 0;
    top: 40vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview3_01 {
    width: 100vw;
    right: 0;
    top: 57vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview3_02 {
    width: 100%;
    left: 0;
    top: 20vw
  }
}
@media only screen and (max-width:900px) {
  .illust.interview3_02 {
    width: 100vw;
    left: 0;
    top: 40vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview3_03 {
    width: 100%;
    left: 0;
    top: 16vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview3_03 {
    width: 100vw;
    left: 0;
    top: 50vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview3_04 {
    width: 100%;
    left: 0;
    top: 20%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview3_04 {
    width: 100vw;
    left: 0;
    top: 53vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview3_05 {
    width: 100%;
    right: 0;
    top: 15vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview3_05 {
    width: 100vw;
    left: 0;
    top: 40vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview3_06 {
    width: 97.51098%;
    left: 0;
    top: 3%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview3_06 {
    width: 100.26667vw;
    left: -9%;
    top: 3%
  }
}
@media only screen and (min-width:900px) {
  .illust.interview4_01 {
    width: 100%;
    right: 0;
    top: 12%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview4_01 {
    width: 100vw;
    left: 0;
    top: 55vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview4_02 {
    width: 100%;
    right: 0;
    top: 20vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview4_02 {
    width: 100vw;
    right: 0;
    top: 63vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview4_03 {
    width: 100%;
    right: 0;
    top: 20%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview4_03 {
    width: 100vw;
    left: 0;
    top: 50vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview4_04 {
    width: 100%;
    left: 0;
    top: 10vh
  }
}
@media only screen and (max-width:900px) {
  .illust.interview4_04 {
    width: 100vw;
    right: 0;
    top: 35vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview4_05 {
    width: 100%;
    left: 0;
    top: 22%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview4_05 {
    width: 100vw;
    left: 0;
    top: 17vh
  }
}
@media only screen and (min-width:900px) {
  .illust.interview4_06 {
    width: 51.53734%;
    left: 0;
    top: 4%
  }
}
@media only screen and (max-width:900px) {
  .illust.interview4_06 {
    width: 91.73333vw;
    left: 0;
    top: 4%
  }
}
.cursor {
  position: fixed;
  top: 50vw;
  left: 50vh;
  pointer-events: none;
  left: -7px;
  top: -7px;
  z-index: 102
}
@media only screen and (max-width:900px) {
  .cursor {
    display: none
  }
}
.cursor.is-drag i:before, .show-menu .cursor {
  display: none
}
.cursor.is-drag i:after {
  opacity: 1
}
.cursor i {
  border-radius: 10px;
  width: 18px;
  height: 18px;
  background-color: #e60033;
  content: "";
  display: block;
  mix-blend-mode: multiply;
  transition: .6s cubic-bezier(.075, .82, .165, 1);
  display: grid;
  place-items: center
}
.cursor i:before {
  content: "";
  font-size: 10px;
  color: #fff;
  -webkit-transform: scale(0) translateX(-15px);
  transform: scale(0) translateX(-15px);
  transition: .4s cubic-bezier(.075, .82, .165, 1);
  opacity: 0;
  transition-delay: 0s
}
.cursor i:after {
  position: absolute;
  left: 1.5px;
  top: 8px;
  width: 15px;
  height: 3px;
  display: block;
  content: "";
  opacity: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url("https://recruit.akikawabokuen.com/assets/img/global/icon_drag.svg")
}
.cursor.is-active i {
  -webkit-transform: scale(4.1);
  transform: scale(4.1)
}
.cursor.is-active i:before {
  opacity: 1;
  transition-delay: .2s;
  -webkit-transform: scale(.7) translateX(0);
  transform: scale(.7) translateX(0)
}
.paging {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 65px
}
@media only screen and (max-width:900px) {
  .paging {
    margin-top: 30px
  }
}
.paging_num {
  width: 36px;
  height: 36px;
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 5px;
  border: 1px solid transparent;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .paging_num {
    margin: 0 2.5px 10px;
    width: 30px;
    height: 30px;
    font-size: 1.2rem
  }
}
@media only screen and (min-width:768px) {
  .paging_num {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .paging_num:hover {
    color: #5a5a5a
  }
}
.paging_num.is-active {
  border-color: #e60033
}
.paging_arrow {
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center
}
.paging_arrow:before {
  content: "";
  font-size: 20px;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
@media only screen and (min-width:768px) {
  .paging_arrow {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
}
.paging_arrow.is-prev {
  margin-right: 10px
}
@media only screen and (max-width:900px) {
  .paging_arrow.is-prev {
    margin-right: 10px
  }
}
.paging_arrow.is-prev:before {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}
.paging_arrow.is-next {
  margin-left: 10px
}
@media only screen and (max-width:900px) {
  .paging_arrow.is-next {
    margin-left: 10px
  }
}
.paging_arrow.is-hidden {
  opacity: .3;
  pointer-events: none
}
.currentNavi, [data-current-section=business] .sideNavi_item.is-business, [data-current-section=challenge] .sideNavi_item.is-challenge, [data-current-section=commitment] .sideNavi_item.is-commitment, [data-current-section=effort] .sideNavi_item.is-effort, [data-current-section=feature] .sideNavi_item.is-feature, [data-current-section=history] .sideNavi_item.is-history, [data-current-section=message] .sideNavi_item.is-message, [data-current-section=structure] .sideNavi_item.is-structure, [data-current-section=vision] .sideNavi_item.is-vision, [data-current-section=stuff] .sideNavi_item.is-stuff, [data-current-section=recruit] .sideNavi_item.is-recruit, [data-current-section=business] .sideNavi_item.is-business, [data-current-section=support] .sideNavi_item.is-support, [data-current-section=edsupport] .sideNavi_item.is-edsupport {
  position: relative
}
.currentNavi:before, [data-current-section=business] .sideNavi_item.is-business:before, [data-current-section=challenge] .sideNavi_item.is-challenge:before, [data-current-section=commitment] .sideNavi_item.is-commitment:before, [data-current-section=effort] .sideNavi_item.is-effort:before, [data-current-section=feature] .sideNavi_item.is-feature:before, [data-current-section=history] .sideNavi_item.is-history:before, [data-current-section=message] .sideNavi_item.is-message:before, [data-current-section=structure] .sideNavi_item.is-structure:before, [data-current-section=vision] .sideNavi_item.is-vision:before, [data-current-section=stuff] .sideNavi_item.is-stuff:before, [data-current-section=recruit] .sideNavi_item.is-recruit:before, [data-current-section=business] .sideNavi_item.is-business:before, [data-current-section=support] .sideNavi_item.is-support:before, [data-current-section=edsupport] .sideNavi_item.is-edsupport:before {
  width: 8px;
  height: calc(100% + 6px);
  background-color: #e60033;
  position: absolute;
  left: -20px;
  top: -3px;
  content: "";
  display: block;
  -webkit-transform: scaleX(1);
  transform: scaleX(1)
}
.sideNavi {
  position: sticky;
  top: 100px;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  pointer-events: none
}
@media only screen and (max-width:900px) {
  .sideNavi {
    display: none
  }
}
.sideNavi_wrap {
  padding-left: 20px
}
.sideNavi_item {
  margin-bottom: 20px;
  display: inline-block;
  cursor: pointer;
  pointer-events: auto
}
.sideNavi_item:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  transition: 1.4s cubic-bezier(.075, .82, .165, 1);
  -webkit-transform-origin: left center;
  transform-origin: left center;
  content: ""
}
@media only screen and (min-width:768px) {
  .sideNavi_item {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .sideNavi_item:hover {
    opacity: .6
  }
}
.sideNavi_item span {
  display: block
}
.sideNavi_item span:first-child {
  font-size: 1.4rem;
  letter-spacing: .12em;
  font-weight: 700;
  margin-bottom: 5px
}
.sideNavi_item span:nth-child(2) {
  font-size: .8rem;
  letter-spacing: .02em;
  font-family: Sen, sans-serif;
}
.statement {
  margin-top: 210px
}
@media only screen and (max-width:900px) {
  .statement {
    margin-top: 150px
  }
}
.page--career .statement {
  margin-top: 120px
}
@media only screen and (max-width:900px) {
  .page--career .statement {
    margin-top: 60px
  }
}
.statement_headline {
  margin-bottom: 60px
}
.statement_headline span {
  display: block
}
.statement_headline span.is-en {
  font-size: 1.8rem;
  margin-bottom: 20px;
  letter-spacing: .1em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .statement_headline span.is-en {
    font-size: 1.6rem;
    margin-bottom: 10px
  }
}
.statement_headline span.is-jp {
  font-size: 3.5rem;
  letter-spacing: .16em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .statement_headline span.is-jp {
    font-size: 2.8rem
  }
}
.statement_category {
  margin: -35px 0 25px
}
@media only screen and (max-width:900px) {
  .statement_category {
    margin: -40px 0 25px
  }
}
.statement_category span {
  font-size: 1.2rem;
  border: 1px solid #e60033;
  display: inline-block;
  padding: 7px 8px;
  letter-spacing: .08em
}
.statement_description {
  font-size: 1.4rem;
  line-height: 1.75;
  letter-spacing: .12em;
  margin-bottom: 55px
}
.statement_body {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .statement_body {
    font-size: 1.4rem;
    line-height: 1.75
  }
}
.wysiwyg > * a {
  text-decoration: underline
}
@media only screen and (min-width:768px) {
  .wysiwyg > * a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
}
.wysiwyg h2 + p {
  margin-top: 20px
}
.wysiwyg p {
  letter-spacing: .1em;
  font-size: 1.6rem;
  line-height: 1.75
}
@media only screen and (max-width:900px) {
  .wysiwyg p {
    font-size: 1.4rem;
    line-height: 1.75
  }
}
.wysiwyg p + p {
  margin-top: 40px
}
.wysiwyg p strong {
  font-weight: 700
}
.wysiwyg p + h2 {
  margin-top: 110px
}
.wysiwyg ul {
  list-style: none;
  padding: 0;
  margin-bottom: 80px
}
.wysiwyg ul li {
  margin-left: 0;
  font-size: 1.6rem;
  line-height: 2.125;
  margin-bottom: 0;
  letter-spacing: .07em;
  padding-left: 1.5em;
  text-indent: -1.5em
}
.wysiwyg ul li:before {
  content: "・";
  margin-right: 18px
}
@media only screen and (max-width:900px) {
  .wysiwyg ul li:before {
    margin-right: 10px
  }
}
@media only screen and (max-width:900px) {
  .wysiwyg ul li {
    font-size: 1.4rem;
    margin-bottom: 6px;
    line-height: 2;
    padding-left: 1.3em;
    text-indent: -1.3em
  }
}
.wysiwyg ol {
  counter-reset: li;
  list-style: none;
  border-bottom: 1px solid #eee;
  margin-bottom: 80px;
  padding-bottom: 30px;
  padding-right: 0;
  padding-left: 40px
}
@media only screen and (min-width:900px) {
  .wysiwyg ol {
    max-width: 840px
  }
}
@media screen and (max-width:1000px) {
  .wysiwyg ol {
    width: calc(100% - 80px)
  }
}
@media screen and (min-width:1400px) {
  .wysiwyg ol {
    max-width: 960px
  }
}
@media only screen and (max-width:900px) {
  .wysiwyg ol {
    padding-left: 25px;
    margin-bottom: 60px;
    margin-top: 25px;
    padding-bottom: 20px
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .wysiwyg ol {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.wysiwyg ol li {
  margin-bottom: 0;
  line-height: 2.125;
  font-size: 1.6rem;
  letter-spacing: .07em;
  position: relative
}
@media only screen and (max-width:900px) {
  .wysiwyg ol li {
    margin-bottom: 4px;
    font-size: 1.4rem
  }
}
.wysiwyg ol li:before {
  width: 16px;
  height: 16px;
  margin-right: 5px;
  content: counter(li) " ";
  counter-increment: li;
  font-weight: 700;
  font-size: 11px;
  position: absolute;
  left: -36px;
  top: 6px
}
@media only screen and (max-width:900px) {
  .wysiwyg ol li:before {
    left: -21px;
    top: 3px
  }
}
.wysiwyg ol li:after {
  width: 14px;
  height: 14px;
  border: 1px solid #000;
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  left: -40px;
  top: 10px;
  text-align: center
}
@media only screen and (max-width:900px) {
  .wysiwyg ol li:after {
    left: -26px;
    top: 7px
  }
}
.wysiwyg h2 {
  font-size: 3.8rem;
  line-height: 1.59211;
  letter-spacing: .12em;
  font-weight: 700
}
* + .wysiwyg h2 {
  margin-top: 110px
}
@media only screen and (max-width:900px) {
  * + .wysiwyg h2 {
    margin-top: 55px
  }
}
.wysiwyg h3 {
  font-size: 3.04rem;
  line-height: 1.59211;
  letter-spacing: .12em
}
* + .wysiwyg h3 {
  margin-top: 88px
}
@media only screen and (max-width:900px) {
  * + .wysiwyg h3 {
    margin-top: 44px
  }
}
@media only screen and (max-width:900px) {
  .wysiwyg iframe {
    width: 78.66667%
  }
}
html.remodal-is-locked {
  overflow: hidden
}
.remodal-backClose {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0
}
.remodal-close {
  border: none;
  width: 28px;
  height: 28px;
  background-color: #ECECEC;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer
}
.remodal-close:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .remodal-close {
    width: 20px;
    height: 20px
  }
}
.remodal-close:before {
  font-size: 8px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .remodal-close:before {
    font-size: 5px
  }
}
@media only screen and (min-width:768px) {
  .remodal-close {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .remodal-close:hover {
    background-color: #e60033
  }
  .remodal-close:hover:before {
    color: #ECECEC
  }
}
.remodal, [data-remodal-id] {
  display: none;
  height: 100%;
  outline: none;
  border: none
}
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  overflow: auto;
  outline: none;
  border: none;
  padding-bottom: 60px;
  -webkit-overflow-scrolling: touch
}
.remodal-wrapper:before {
  background: rgba(0, 0, 0, .7);
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0
}
.remodal-wrapper.remodal-is-closing:before {
  -webkit-animation: fadeOut .3s ease-out forwards;
  animation: fadeOut .3s ease-out forwards
}
.remodal-overlay, .remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
.remodal {
  position: relative;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%
}
.remodal-is-initialized {
  display: block
}
.remodal-wrapper:after {
  vertical-align: middle
}
.remodal.remodal-is-opened {
  -webkit-animation: fadeIn .6s ease-out forwards;
  animation: fadeIn .6s ease-out forwards
}
.remodal.remodal-is-closing {
  -webkit-animation: remodal-closing-keyframes .6s;
  animation: remodal-closing-keyframes .6s
}
@-webkit-keyframes remodal-opening-keyframes {
  0% {
    opacity: 0
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1
  }
}
@keyframes remodal-opening-keyframes {
  0% {
    opacity: 0
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1
  }
}
@-webkit-keyframes remodal-closing-keyframes {
  0% {
    opacity: 1
  }
  to {
    opacity: 0
  }
}
@keyframes remodal-closing-keyframes {
  0% {
    opacity: 1
  }
  to {
    opacity: 0
  }
}
.slick-slider {
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}
.slick-list, .slick-slider {
  position: relative;
  display: block
}
.slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0
}
.slick-list:focus {
  outline: none
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}
.slick-slider .slick-list, .slick-slider .slick-track {
  -webkit-transform: translateZ(0);
  transform: translateZ(0)
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}
.slick-track:after, .slick-track:before {
  content: "";
  display: table
}
.slick-track:after {
  clear: both
}
.slick-loading .slick-track {
  visibility: hidden
}
.slick-slide {
  float: left;
  min-height: 1px;
  display: none
}
[dir=rtl] .slick-slide {
  float: right
}
.slick-slide img {
  display: block
}
.slick-slide.slick-loading img {
  display: none
}
.slick-slide.dragging img {
  pointer-events: none
}
.slick-initialized .slick-slide {
  display: block
}
.slick-loading .slick-slide {
  visibility: hidden
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}
.slick-arrow.slick-hidden {
  display: none
}
.slick-arrow {
  cursor: pointer
}
@media only screen and (max-width:900px) {
  .businessFeature {
    margin-top: -10px
  }
}
.businessFeature_headline {
  font-size: 2.9rem;
  line-height: 1.93103;
  letter-spacing: .12em;
  margin-bottom: 35px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessFeature_headline {
    font-size: 1.8rem;
    line-height: 1.77778;
    margin-bottom: 20px
  }
}
.businessFeature_body {
  font-size: 1.6rem;
  line-height: 2.5;
  letter-spacing: .12em;
  margin-bottom: 75px
}
@media only screen and (max-width:900px) {
  .businessFeature_body {
    font-size: 1.4rem;
    line-height: 1.92857;
    letter-spacing: .06em;
    margin-bottom: 30px
  }
}
.businessFeature_title {
  font-size: 2rem;
  letter-spacing: .12em;
  margin-bottom: 30px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessFeature_title {
    font-size: 1.5rem;
    line-height: 2.13333
  }
}
@media only screen and (min-width:900px) {
  .businessFeature_image {
    margin-left: -30px
  }
}
@media only screen and (max-width:900px) {
  .businessFeature_image {
    max-width: 400px;
    margin: 0 auto
  }
}
@media only screen and (min-width:900px) {
  .businessFeature_image > div {
    width: 105%
  }
}
.businessFlow {
  margin-bottom: 90px
}
@media only screen and (max-width:900px) {
  .businessFlow {
    margin-bottom: 40px
  }
}
.businessFlow:last-child {
  margin-bottom: 0
}
.businessFlow_headline {
  margin-bottom: 35px;
  position: relative
}
.businessFlow_headline:before {
  background-color: #e60033;
  width: 37px;
  height: 2px;
  left: -58px;
  top: 15px;
  z-index: 0;
  position: absolute;
  display: block;
  content: ""
}
@media only screen and (max-width:900px) {
  .businessFlow_headline:before {
    left: -10%;
    top: 10px;
    width: 23px
  }
}
.businessFlow_headline span {
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .businessFlow_headline span {
    font-size: 1.5rem
  }
}
.businessFlow_headline span em {
  font-size: 2.8rem;
  font-style: normal;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .businessFlow_headline span em {
    font-size: 1.9rem
  }
}
.businessFlow_image {
  margin-bottom: 45px
}
@media only screen and (max-width:900px) {
  .businessFlow_image {
    margin-bottom: 30px
  }
}
.businessFlow_title {
  font-size: 1.6rem;
  line-height: 2.5;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessFlow_title {
    font-size: 1.4rem;
    line-height: 1.92857
  }
}
.businessFlow_body + .businessFlow_title {
  margin-top: 40px
}
@media only screen and (max-width:900px) {
  .businessFlow_body + .businessFlow_title {
    margin-top: 30px
  }
}
.businessFlow_body {
  font-size: 1.6rem;
  line-height: 2.5
}
@media only screen and (max-width:900px) {
  .businessFlow_body {
    font-size: 1.4rem;
    line-height: 1.92857
  }
}
.businessHistory {
  margin-top: 130px;
  position: relative
}
@media only screen and (max-width:900px) {
  .businessHistory {
    margin-top: 60px
  }
}
.businessHistory_line {
  width: 2px;
  height: calc(100% - 20px);
  background-color: #e60033;
  position: absolute;
  top: 15px;
  left: 0;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .businessHistory_line {
    top: 10px;
    width: 1px
  }
}
.businessHistory_line:before {
  border-left: 2px dashed #e60033;
  background-color: #ECECEC;
  width: 2px;
  z-index: 2;
  height: 140px;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block
}
@media only screen and (max-width:900px) {
  .businessHistory_line:before {
    height: 90px;
    border-left-width: 1px
  }
}
@media only screen and (min-width:900px) {
  .businessHistory_section {
    margin-bottom: 110px;
    display: flex
  }
}
@media only screen and (max-width:900px) {
  .businessHistory_section {
    margin-bottom: 40px
  }
}
.businessHistory_year {
  position: relative
}
@media only screen and (min-width:900px) {
  .businessHistory_year {
    text-align: right;
    width: 230px
  }
}
@media only screen and (max-width:900px) {
  .businessHistory_year {
    margin-bottom: 20px
  }
}
.businessHistory_year:before {
  background-color: #e60033;
  width: 100%;
  height: 2px;
  left: 0;
  top: 15px;
  z-index: 0;
  position: absolute;
  display: block;
  content: ""
}
@media only screen and (max-width:900px) {
  .businessHistory_year:before {
    width: 20px;
    top: 10px;
    height: 1px
  }
}
.businessHistory_year > div {
  padding: 0 30px 0 15px;
  font-size: 1.5rem;
  letter-spacing: .08em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  display: inline-block
}
@media only screen and (min-width:900px) {
  .businessHistory_year > div {
    background-color: #ECECEC
  }
}
@media only screen and (max-width:900px) {
  .businessHistory_year > div {
    font-size: 1rem;
    padding: 0 0 0 30px
  }
}
.businessHistory_year > div span {
  font-size: 3rem
}
@media only screen and (max-width:900px) {
  .businessHistory_year > div span {
    font-size: 2rem
  }
}
@media only screen and (min-width:900px) {
  .businessHistory_content {
    width: calc(100% - 230px)
  }
}
@media only screen and (max-width:900px) {
  .businessHistory_content {
    padding-left: 30px
  }
}
.businessHistory_title {
  font-size: 2.9rem;
  letter-spacing: .12em;
  margin-bottom: 50px;
  font-weight: 700;
  line-height: 1.4;
  margin-top: -6px
}
@media only screen and (max-width:900px) {
  .businessHistory_title {
    font-size: 1.8rem;
    line-height: 1.77778;
    margin-bottom: 20px
  }
}
.businessHistory_body {
  font-size: 1.6rem;
  line-height: 2.5;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .businessHistory_body {
    font-size: 1.4rem;
    line-height: 1.92857;
    letter-spacing: .06em
  }
}
.businessPride {
  margin-bottom: 210px
}
@media only screen and (max-width:900px) {
  .businessPride {
    margin-bottom: 0
  }
}
@media only screen and (min-width:900px) {
  .businessPride_section {
    display: flex;
    margin-bottom: 120px
  }
}
@media only screen and (max-width:900px) {
  .businessPride_section {
    margin-bottom: 40px
  }
}
.businessPride_category {
  position: relative
}
@media only screen and (min-width:900px) {
  .businessPride_category {
    width: 15.78947%;
    border-right: 2px solid #e60033;
    line-height: 1.4
  }
}
@media only screen and (max-width:900px) {
  .businessPride_category {
    margin-bottom: 40px
  }
}
@media only screen and (max-width:900px) {
  .businessPride_category:before {
    content: "";
    display: block;
    height: 2px;
    width: 100%;
    position: absolute;
    z-index: 0;
    top: calc(50% - 1px);
    left: 0;
    background-color: #e60033
  }
}
.businessPride_category span {
  font-size: 2rem;
  letter-spacing: .14em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessPride_category span {
    font-size: 1.5rem;
    background-color: #ECECEC;
    position: relative;
    z-index: 1;
    padding-right: 10px
  }
}
@media only screen and (min-width:900px) {
  .businessPride_content {
    width: 84.21053%;
    padding-left: 57px
  }
}
.businessPride_headline {
  line-height: 1.72414;
  letter-spacing: .12em;
  font-weight: 700
}
@media only screen and (min-width:900px) {
  .businessPride_headline {
    margin-top: -10px;
    font-size: 2.9rem;
    margin-bottom: 47px
  }
}
@media only screen and (max-width:900px) {
  .businessPride_headline {
    font-size: 1.8rem;
    margin-bottom: 10px
  }
}
.businessPride_lead {
  font-size: 1.6rem;
  letter-spacing: .12em;
  line-height: 2.5;
  margin-bottom: 70px
}
@media only screen and (max-width:900px) {
  .businessPride_lead {
    font-size: 1.4rem;
    line-height: 1.92857;
    margin-bottom: 35px
  }
}
@media only screen and (min-width:900px) {
  .businessPride_image {
    margin: -20px 0 100px
  }
}
@media only screen and (max-width:900px) {
  .businessPride_image {
    margin-bottom: 50px
  }
}
.businessPride_modal {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.businessPride_modal a {
  width: 49%;
  display: block;
  margin-bottom: 10px;
  position: relative
}
@media only screen and (min-width:768px) {
  .businessPride_modal a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .businessPride_modal a:hover {
    opacity: .6
  }
}
.businessPride_modal a > p {
  font-size: 1.95rem;
  background-color: #fff;
  padding: 8px 0;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .businessPride_modal a > p {
    font-size: 1.3rem;
    padding: 6px 0
  }
}
.businessPride_modal a i {
  border: 2px solid #fff;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 50%
}
.businessPride_modal a i:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .businessPride_modal a i {
    width: 20px;
    height: 20px;
    right: 5px;
    bottom: 5px
  }
}
.businessPride_modal a i:before {
  font-size: 12px;
  color: #fff
}
@media only screen and (max-width:900px) {
  .businessPride_modal a i:before {
    font-size: 6px
  }
}
.businessPride_button {
  display: flex;
  justify-content: space-between
}
@media only screen and (min-width:900px) {
  .businessPride_button {
    margin-top: -20px
  }
}
@media only screen and (max-width:900px) {
  .businessPride_button {
    flex-wrap: wrap
  }
}
.businessPride_button a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 14px;
  position: relative;
  width: 31%;
  height: 117px;
  text-align: center
}
.businessPride_button a:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .businessPride_button a {
    height: 80px
  }
}
@media only screen and (min-width:768px) {
  .businessPride_button a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .businessPride_button a:hover {
    background-color: #e60033;
    color: #fff
  }
  .businessPride_button a:hover:before {
    color: #fff
  }
}
.businessPride_button a:before {
  font-size: 21px;
  position: absolute;
  right: 10px;
  bottom: 10px
}
@media only screen and (max-width:900px) {
  .businessPride_button a:before {
    font-size: 15px
  }
}
@media only screen and (max-width:900px) {
  .businessPride_button a:first-child, .businessPride_button a:nth-child(2) {
    width: 48.5%;
    margin-bottom: 10px
  }
  .businessPride_button a:nth-child(3) {
    width: 100%
  }
}
.businessPride_button a span {
  font-size: 1.5rem;
  line-height: 1.53333;
  letter-spacing: .22em
}
@media only screen and (max-width:900px) {
  .businessPride_button a span {
    font-size: 1.2rem;
    line-height: 1.58333
  }
}
.businessProject:nth-child(3) {
  margin-top: 115px
}
@media only screen and (max-width:900px) {
  .businessProject:nth-child(3) {
    margin-top: 40px
  }
}
.businessProject_title {
  font-size: 2.9rem;
  line-height: 1.37931;
  margin-bottom: 40px;
  letter-spacing: .12em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessProject_title {
    font-size: 1.8rem;
    line-height: 1.77778;
    margin-bottom: 20px
  }
}
.businessProject_headline {
  margin-bottom: 45px
}
@media only screen and (max-width:900px) {
  .businessProject_headline {
    margin-bottom: 25px
  }
}
.businessProject_headline span {
  display: block;
  line-height: 1.44828;
  letter-spacing: .12em;
  font-weight: 700
}
.businessProject_headline span:first-child {
  font-size: 2rem;
  margin-bottom: 10px
}
@media only screen and (max-width:900px) {
  .businessProject_headline span:first-child {
    font-size: 1.3rem;
    margin-bottom: 5px
  }
}
.businessProject_headline span:nth-child(2) {
  font-size: 2.9rem
}
@media only screen and (max-width:900px) {
  .businessProject_headline span:nth-child(2) {
    font-size: 1.8rem
  }
}
.businessProject_body {
  font-size: 1.6rem;
  line-height: 2.5;
  margin-bottom: 110px;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .businessProject_body {
    font-size: 1.4rem;
    line-height: 1.92857;
    margin-bottom: 40px
  }
}
.businessProject_image img {
  width: 105%
}
.businessSystem + .businessSystem {
  margin-top: 40px
}
@media only screen and (max-width:900px) {
  .businessSystem + .businessSystem {
    margin-top: 30px
  }
}
@media only screen and (min-width:900px) {
  .businessSystem_column2 {
    display: flex;
    justify-content: space-between
  }
}
@media only screen and (min-width:900px) {
  .businessSystem_column2 > div {
    width: 49%
  }
}
@media only screen and (max-width:900px) {
  .businessSystem_column2 > div:first-child {
    margin-bottom: 30px
  }
}
.businessSystem_headline {
  border-bottom: 7px solid #e60033;
  text-align: center;
  padding-bottom: 28px;
  margin-bottom: 25px
}
@media only screen and (max-width:900px) {
  .businessSystem_headline {
    border-bottom-width: 5px;
    padding-bottom: 15px;
    margin-bottom: 15px
  }
}
.businessSystem_headline span {
  font-size: 2.2rem;
  letter-spacing: .16em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessSystem_headline span {
    font-size: 1.5rem;
    letter-spacing: .12em
  }
}
.businessSystem_title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.93333;
  letter-spacing: .12em;
  text-align: center;
  margin-bottom: 5px
}
@media only screen and (max-width:900px) {
  .businessSystem_title {
    font-size: 1.2rem
  }
}
.businessSystem_body {
  font-size: 1.5rem;
  line-height: 1.93333;
  letter-spacing: .12em;
  text-align: center
}
@media only screen and (max-width:900px) {
  .businessSystem_body {
    font-size: 1.2rem
  }
}
.businessSystem_list {
  display: flex;
  justify-content: center;
  text-align: left
}
.businessSystem_list p {
  text-align: left
}
.businessSystem_title + .businessSystemKind {
  margin-top: 45px
}
@media only screen and (max-width:900px) {
  .businessSystem_title + .businessSystemKind {
    margin-top: 25px
  }
}
.businessSystemKind_headline {
  font-size: 1.4rem;
  letter-spacing: .12em;
  text-align: center;
  position: relative;
  margin-bottom: 25px
}
@media only screen and (max-width:900px) {
  .businessSystemKind_headline {
    font-size: 1.2rem
  }
}
.businessSystemKind_headline:before {
  content: "";
  display: block;
  left: 0;
  top: calc(50% - 1px);
  width: 100%;
  height: 2px;
  background-color: #e60033;
  position: absolute;
  z-index: 0
}
.businessSystemKind_headline span {
  background-color: #fff;
  display: inline-block;
  padding: 0 13px;
  position: relative;
  z-index: 1
}
.businessSystemKind_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list + .businessSystemKind_list {
    margin-top: 10px
  }
}
.businessSystemKind_list.is-column4 a, .businessSystemKind_list.is-column4 div {
  width: 24%
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list.is-column4 a, .businessSystemKind_list.is-column4 div {
    width: 48%;
    margin-bottom: 10px
  }
}
.businessSystemKind_list.is-column3 a, .businessSystemKind_list.is-column3 div {
  width: 32.6%;
  margin-bottom: 10px
}
.businessSystemKind_list.is-column2 a, .businessSystemKind_list.is-column2 div {
  width: 49%
}
.businessSystemKind_list.is-column1 a, .businessSystemKind_list.is-column1 div {
  width: 100%
}
.businessSystemKind_list div {
  background-color: #ECECEC;
  border-radius: 14px;
  padding: 26px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list div {
    padding: 18px
  }
}
.businessSystemKind_list div span {
  font-size: 1.4rem;
  letter-spacing: .22em;
  line-height: 1.64286
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list div span {
    font-size: 1.2rem
  }
}
.businessSystemKind_list a {
  background-color: #e60033;
  border: 2px solid #e60033;
  border-radius: 14px;
  padding: 33px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list a {
    padding: 20px 0;
    border-radius: 8px
  }
}
@media only screen and (min-width:768px) {
  .businessSystemKind_list a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .businessSystemKind_list a:hover {
    background-color: #fff
  }
  .businessSystemKind_list a:hover span {
    color: #e60033
  }
  .businessSystemKind_list a:hover i {
    background-color: #e60033
  }
  .businessSystemKind_list a:hover i:before {
    color: #fff
  }
}
.businessSystemKind_list a span {
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: .22em;
  line-height: 1.64286
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list a span {
    font-size: 1.2rem
  }
}
.businessSystemKind_list a i {
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center
}
.businessSystemKind_list a i:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list a i {
    width: 12px;
    height: 12px;
    right: 5px;
    bottom: 5px
  }
}
.businessSystemKind_list a i:before {
  font-size: 5px
}
@media only screen and (max-width:900px) {
  .businessSystemKind_list a i:before {
    font-size: 3px
  }
}
.businessTab {
  margin: 0 -42px;
  width: calc(100% + 84px)
}
@media only screen and (max-width:900px) {
  .businessTab {
    margin: 0;
    width: auto
  }
}
@media only screen and (max-width:900px) {
  .businessTab:nth-child(3) {
    margin-top: 10px
  }
}
.businessTab_headline {
  background-color: #ECECEC;
  width: 270px;
  margin: 0 auto -2px;
  position: relative;
  z-index: 1;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  border: 2px solid #e60033;
  border-bottom-color: #ECECEC;
  padding: 18px 0 0
}
@media only screen and (max-width:900px) {
  .businessTab_headline {
    padding: 10px 0 0;
    width: 215px
  }
}
.businessTab_headline > div {
  text-align: center
}
.businessTab_headline > div span {
  display: block
}
.businessTab_headline > div span:first-child {
  font-size: 2.4rem;
  margin-bottom: 12px;
  letter-spacing: .18em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .businessTab_headline > div span:first-child {
    margin-bottom: 5px;
    font-size: 1.8rem
  }
}
.businessTab_headline > div span:nth-child(2) {
  font-size: 1.2rem;
  letter-spacing: .02em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .businessTab_headline > div span:nth-child(2) {
    font-size: 1rem
  }
}
.businessTab_frame {
  border: 2px solid #e60033;
  border-radius: 12px;
  padding: 35px 4.5%
}
@media only screen and (max-width:900px) {
  .businessTab_frame {
    padding: 20px 6.41026%
  }
}
.businessTab_fill {
  background-color: #fff;
  padding: 40px 5% 45px;
  border-radius: 8px
}
@media only screen and (max-width:900px) {
  .businessTab_fill {
    padding: 20px 5% 10px
  }
}
.businessTab_plus {
  margin: 15px auto;
  text-align: center
}
.businessTab_plus:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .businessTab_plus {
    margin: 10px auto
  }
}
.businessTab_plus:before {
  font-size: 32px
}
@media only screen and (max-width:900px) {
  .businessTab_plus:before {
    font-size: 22px
  }
}
.businessTab_bar {
  width: 20px;
  height: 92px;
  background-color: #e60033;
  margin: 0 auto
}
@media only screen and (max-width:900px) {
  .businessTab_bar {
    width: 12px;
    height: 50px
  }
}
.grow {
  height: 100%;
  display: grid;
  place-items: center
}
.grow:after {
  content: "";
  display: block;
  height: 30px;
  width: 1px
}
@media only screen and (max-width:900px) {
  .grow:after {
    height: 10px
  }
}
.grow_container {
  background-color: #fff;
  border-radius: 6px;
  max-width: 840px;
  margin: 40px auto 100px;
  padding: 50px 5% 65px;
  position: relative;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .grow_container {
    width: 72.53333%;
    padding: 30px 8.06452%
  }
}
.grow .remodal-close {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .grow .remodal-close {
    right: 15px;
    top: 15px
  }
}
.grow_headline {
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: .16em;
  margin-bottom: 50px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .grow_headline {
    font-size: 1.2rem;
    margin-bottom: 30px
  }
}
.grow_image {
  margin-bottom: 50px
}
@media only screen and (max-width:900px) {
  .grow_image {
    margin-bottom: 25px
  }
}
.grow_list li {
  font-size: 1.5rem;
  line-height: 2.26667;
  margin-bottom: 1px;
  padding-left: 1em;
  position: relative
}
@media only screen and (max-width:900px) {
  .grow_list li {
    font-size: 1.2rem;
    line-height: 2.08333
  }
}
.grow_list li span {
  font-size: 1.2rem
}
.grow_list li:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #e60033;
  position: absolute;
  left: 0;
  top: 13px;
  border-radius: 50%
}
@media only screen and (max-width:900px) {
  .grow_list li:before {
    width: 6px;
    height: 6px;
    top: 9px
  }
}
.kind {
  height: 100%;
  display: grid;
  place-items: center
}
.kind_container {
  background-color: #fff;
  border-radius: 6px;
  margin: 0 auto;
  padding: 40px 0;
  position: relative;
  z-index: 1
}
@media only screen and (min-width:900px) {
  .kind_container {
    width: 836px;
    display: flex;
    align-items: center
  }
}
@media only screen and (max-width:900px) {
  .kind_container {
    width: 72.53333%;
    padding: 30px 0
  }
}
.kind .remodal-close {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 1
}
@media only screen and (min-width:900px) {
  .kind_image {
    width: 31.57895%;
    padding: 8px 5%;
    border-right: 1px solid #e60033
  }
}
.kind_illust {
  width: 120px;
  margin: 0 auto 10px
}
@media only screen and (max-width:900px) {
  .kind_illust {
    width: 84px
  }
}
.kind_title {
  text-align: center;
  font-size: 1.6rem
}
@media only screen and (max-width:900px) {
  .kind_title {
    font-size: 1.2rem
  }
}
@media only screen and (min-width:900px) {
  .kind_body {
    width: 68.42105%;
    padding: 0 8.7%
  }
}
@media only screen and (max-width:900px) {
  .kind_body {
    width: 80.14706%;
    margin: 20px auto 0
  }
}
.kind_body p {
  font-size: 1.6rem;
  line-height: 2.375;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .kind_body p {
    font-size: 1.2rem;
    line-height: 2.08333;
    letter-spacing: .06em
  }
}
.kind_paging {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}
@media only screen and (max-width:900px) {
  .kind_paging {
    bottom: -40px
  }
}
.kind_paging a {
  color: #fff;
  display: block;
  margin-top: -5px
}
.kind_paging a:before {
  content: "";
  color: #fff;
  font-size: 36px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .kind_paging a:before {
    font-size: 26px;
    font-weight: 400
  }
}
.kind_paging a.is-back {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}
@media only screen and (min-width:768px) {
  .kind_paging a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .kind_paging a:hover {
    opacity: .4
  }
}
.kind_paging span {
  font-size: 2.1rem;
  color: #fff;
  display: block;
  margin: 0 30px;
  letter-spacing: .25em;
  font-weight: 700;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .kind_paging span {
    font-size: 1.4rem
  }
}
.form {
  border-top: 4px solid #e60033;
  margin-top: 120px;
  padding-top: 100px
}
@media only screen and (max-width:900px) {
  .form {
    margin-top: 60px;
    padding-top: 50px
  }
}
.form_item {
  padding: 30px 0
}
@media only screen and (min-width:900px) {
  .form_item {
    display: flex
  }
}
@media only screen and (max-width:900px) {
  .form_item {
    padding: 15px 0
  }
}
.form_note {
  font-size: 1rem !important;
  letter-spacing: .1em;
  margin-top: 10px
}
.form_title {
  display: flex
}
@media only screen and (min-width:900px) {
  .is-input .form_title {
    padding-top: 8px
  }
}
@media only screen and (min-width:900px) {
  .form_title {
    width: 35.20518%
  }
}
@media only screen and (max-width:900px) {
  .form_title {
    margin-bottom: 10px;
    justify-content: space-between
  }
}
@media only screen and (max-width:900px) {
  .is-confirm .form_title {
    margin-bottom: 5px
  }
}
.form_title > p {
  font-size: 1.6rem;
  letter-spacing: .1em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .form_title > p {
    font-size: 1.4rem
  }
}
.form_title > div {
  padding-top: 10px;
  margin-left: 10px
}
.form_title > div > span {
  font-size: 1rem;
  border: 1px solid #c00;
  color: #c00;
  padding: 1px 10px
}
@media only screen and (min-width:900px) {
  .form_field {
    width: 64.79482%
  }
}
.form_field.has-error input {
  border-color: #c00;
  background-color: #fbebeb
}
.form_field > div.has-martinTop {
  margin-top: 15px
}
.form_field > div input, .form_field > div textarea {
  width: 100%
}
.form_field > div textarea {
  height: 280px
}
@media only screen and (max-width:900px) {
  .form_field > div textarea {
    height: 155px
  }
}
.form_field > p {
  font-size: 1.4rem;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .form_field > p {
    font-size: 1.6rem
  }
}
.is-input .form_field > p {
  font-size: 1.8rem
}
@media only screen and (max-width:900px) {
  .is-input .form_field > p {
    font-size: 1.6rem
  }
}
.form_field > p.error {
  color: #c00;
  font-size: 1.4rem;
  letter-spacing: .1em;
  margin-top: 5px
}
@media only screen and (max-width:900px) {
  .form_field > p.error {
    font-size: 1.2rem
  }
}
.formButton {
  margin-top: 70px
}
@media only screen and (max-width:900px) {
  .formButton {
    display: flex;
    justify-content: center
  }
}
.is-confirm .formButton {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 624px;
  margin-right: auto;
  margin-left: auto
}
@media only screen and (max-width:900px) {
  .is-confirm .formButton {
    width: auto;
    display: block
  }
}
@media only screen and (max-width:900px) {
  .is-confirm .formButton > div:last-child {
    margin-top: 15px
  }
}
.is-confirm .formButton > div > * {
  margin-right: auto;
  margin-left: auto
}
.faq {
  margin-top: 100px;
  border-top: 2px solid #cfcfca
}
@media only screen and (max-width:900px) {
  .faq {
    margin-top: 80px
  }
}
.faqCard {
  border-bottom: 2px solid #cfcfca;
  padding: 55px 0 35px;
  position: relative;
  pointer-events: auto
}
@media only screen and (max-width:900px) {
  .faqCard {
    padding: 25px 0 5px
  }
}
.faqCard_answer, .faqCard_question {
  position: relative;
  padding-left: 45px;
  padding-right: 45px
}
@media only screen and (max-width:900px) {
  .faqCard_answer, .faqCard_question {
    padding-left: 40px;
    padding-right: 40px
  }
}
.faqCard_answer:before, .faqCard_question:before {
  font-size: 2.4rem;
  position: absolute;
  left: 0;
  top: 5px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .faqCard_answer:before, .faqCard_question:before {
    top: 3px;
    font-size: 2rem
  }
}
.faqCard_question {
  cursor: pointer
}
.faqCard_question:before {
  content: "Q."
}
.faqCard_question p {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: .11em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .faqCard_question p {
    font-size: 1.6rem;
    letter-spacing: .1em
  }
}
@media only screen and (min-width:768px) {
  .faqCard_question {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .faqCard_question:hover {
    opacity: .6
  }
}
.faqCard_answer {
  height: 0;
  overflow: hidden;
  margin-top: 20px
}
.faqCard_answer p {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .faqCard_answer p {
    font-size: 1.4rem;
    line-height: 1.75;
    padding-bottom: 20px
  }
}
.faqCard_answer:before {
  content: "A."
}
.faqCard_icon {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 14px;
  top: 61px;
  display: block;
  z-index: 1;
  transition: .6s cubic-bezier(.19, 1, .22, 1);
  pointer-events: none
}
@media only screen and (max-width:900px) {
  .faqCard_icon {
    right: 9.33333vw;
    width: 20px;
    height: 20px;
    right: 0;
    top: 28px
  }
}
.faqCard_icon:after, .faqCard_icon:before {
  content: "";
  display: block;
  position: absolute;
  background-color: #e60033;
  transition: .6s cubic-bezier(.19, 1, .22, 1)
}
.faqCard_icon:before {
  width: 100%;
  height: 4px;
  left: 0;
  top: calc(50% - 2px)
}
@media only screen and (max-width:900px) {
  .faqCard_icon:before {
    height: 2px;
    top: calc(50% - 1px)
  }
}
.faqCard_icon:after {
  width: 4px;
  height: 100%;
  top: 0;
  left: calc(50% - 2px)
}
@media only screen and (max-width:900px) {
  .faqCard_icon:after {
    width: 2px;
    left: calc(50% - 1px)
  }
}
.is-opened .faqCard_icon {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}
.is-opened .faqCard_icon:before {
  opacity: 0;
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg)
}
@media only screen and (min-width:900px) {
  .faqCardButton {
    margin-top: 60px;
    display: flex;
    justify-content: space-between
  }
}
@media only screen and (max-width:900px) {
  .faqCardButton {
    margin-top: 10px;
    padding-bottom: 30px
  }
}
@media only screen and (min-width:900px) {
  .faqCardButton_item > div {
    width: 212px
  }
}
@media only screen and (min-width:900px) {
  .faqCardButton_item:first-child {
    width: 31.49038%
  }
}
@media only screen and (min-width:900px) {
  .faqCardButton_item:nth-child(2) {
    width: 37.01923%;
    border-left: 2px solid #cfcfca;
    border-right: 2px solid #cfcfca;
    display: flex;
    justify-content: center
  }
}
@media only screen and (max-width:900px) {
  .faqCardButton_item:nth-child(2) {
    border-top: 1px solid #cfcfca;
    border-bottom: 1px solid #cfcfca;
    margin: 25px 0;
    padding: 25px 0
  }
}
@media only screen and (min-width:900px) {
  .faqCardButton_item:nth-child(3) {
    display: flex;
    justify-content: flex-end;
    width: 31.49038%
  }
}
.faqCardButton_title {
  font-size: 1.6rem;
  margin-bottom: 17px;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .faqCardButton_title {
    font-size: 1.4rem
  }
}
.home_content {
  position: relative;
  overflow: hidden
}
.home_buttonMore {
  position: absolute
}
.home_content > * {
  position: relative
}
.home_content .homeNews {
  z-index: 2
}
.home_content .homeWelcome {
  z-index: 1
}
.home_content .is-philosophy {
  z-index: 3
}
.home_content .is-business {
  z-index: 4
}
.home_content .is-interview {
  z-index: 5
}
.home_content .homeRecruit {
  z-index: 6
}
.homeHeadline_wrap {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap-reverse;
  position: relative
}
@media only screen and (min-width:900px) {
  .homeHeadline_wrap {
    justify-content: center
  }
}
.homeHeadline_en {
  margin-left: 15px
}
@media only screen and (max-width:900px) {
  .homeHeadline_en {
    margin-left: 1vw
  }
}
.homeHeadline_en span {
  font-size: 1.88rem;
  font-weight: 700;
  letter-spacing: .02em;
  font-family: Sen, sans-serif;
  ;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .homeHeadline_en span {
    font-size: 2.66667vw;
    width: 2.7vw
  }
}
.homeWelcome .homeHeadline_en span {
  color: #fff
}
@media only screen and (max-width:900px) {
  .homeWelcome .homeHeadline_en span {
    color: #e60033
  }
}
.homeHeadline_title {
  margin-left: 32px;
  width: 82px
}
@media only screen and (max-width:900px) {
  .homeHeadline_title {
    margin-left: 0;
    width: 11.6vw
  }
}
.homeHeadline_title span {
  font-size: 3.5rem;
  background-color: #e60033;
  padding: 20px 23px;
  letter-spacing: .2em;
  color: #fff;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  display: block;
  white-space: nowrap
}
@media only screen and (max-width:900px) {
  .homeHeadline_title span {
    font-size: 5.33333vw;
    padding: 2.66667vw 3.2vw
  }
}
@media only screen and (min-width:900px) {
  .homeWelcome .homeHeadline_lead {
    width: 100px
  }
}
@media only screen and (max-width:900px) {
  .homeWelcome .homeHeadline_lead {
    position: absolute;
    left: 5%;
    top: 5%;
    z-index: 2
  }
}
@media only screen and (min-width:900px) {
  .homeArticle.is-business .homeHeadline_lead, .homeArticle.is-philosophy .homeHeadline_lead {
    width: 100px
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-business .homeHeadline_lead, .homeArticle.is-philosophy .homeHeadline_lead {
    padding: 4vw 0 0 13.33333vw;
    z-index: 6;
    position: relative
  }
}
@media only screen and (min-width:900px) {
  .homeArticle.is-interview .homeHeadline_lead {
    width: 100px
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-interview .homeHeadline_lead {
    position: absolute;
    top: 10%;
    right: 4vw;
    z-index: 1
  }
}
.homeHeadline_lead p {
  white-space: nowrap
}
@media only screen and (min-width:900px) {
  .homeHeadline_lead p {
    font-size: 1.6rem;
    line-height: 2.25;
    letter-spacing: .02em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    -webkit-text-orientation: upright;
    text-orientation: upright
  }
}
@media only screen and (max-width:900px) {
  .homeHeadline_lead p {
    font-size: 2.93333vw;
    line-height: 2;
    letter-spacing: .14em
  }
}
.homeWelcome .homeHeadline_lead p {
  color: #333
}
@media only screen and (max-width:900px) {
  .homeWelcome .homeHeadline_lead p {
    color: #fff
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-interview .homeHeadline_lead p {
    color: #fff;
    text-align: right
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit .homeHeadline_lead p {
    color: #fff
  }
}
.homeHeadline_en {
  overflow: hidden
}
.safari.desktop .homeHeadline_en {
  overflow: visible;
  margin-left: 15px
}
.safari.desktop .homeHeadline_en span {
  opacity: 0
}
.homeHeadline_en span {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  transition: 1.3s cubic-bezier(.075, .82, .165, 1) 0s
}
.inView .homeHeadline_en span {
  -webkit-transform: translateX(0);
  transform: translateX(0)
}
.safari.desktop .inView .homeHeadline_en span {
  opacity: 1
}
.homeHeadline_title > span {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0)
}
.inView .homeHeadline_title > span {
  -webkit-animation: homeHeadlineTitle 1.4s cubic-bezier(1, 0, 0, 1) .1s normal forwards;
  animation: homeHeadlineTitle 1.4s cubic-bezier(1, 0, 0, 1) .1s normal forwards
}
@media only screen and (min-width:900px) {
  .homeHeadline_lead > p {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
}
@media only screen and (min-width:900px) {
  .inView .homeHeadline_lead > p {
    -webkit-animation: homeHeadlineTitle 1.8s cubic-bezier(.785, .135, .15, .86) .2s normal forwards;
    animation: homeHeadlineTitle 1.8s cubic-bezier(.785, .135, .15, .86) .2s normal forwards
  }
}
@keyframes homeHeadlineTitle {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
.homeHeadline__en span {
  opacity: 0;
  -webkit-transform: translateY(-50px);
  transform: translateY(-50px);
  transition: 1.3s cubic-bezier(.165, .84, .44, 1) 0s
}
.inView .homeHeadline__en span {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
.homeHeadline__title > span {
  opacity: 0;
  -webkit-transform: translateY(-50px);
  transform: translateY(-50px)
}
.inView .homeHeadline__title > span {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: 1.3s cubic-bezier(.165, .84, .44, 1) .2s
}
.homeHeadline__lead > p {
  opacity: 0;
  -webkit-transform: translateY(-50px);
  transform: translateY(-50px)
}
.inView .homeHeadline__lead > p {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: 1.7s cubic-bezier(.165, .84, .44, 1) .3s
}
.homeArticle {
  margin-top: 115px;
  position: relative
}
@media only screen and (min-width:900px) {
  .homeArticle {
    margin-left: auto;
    margin-right: auto;
    max-width: 1710px;
    padding-left: 55px;
    padding-right: 55px
  }
}
@media only screen and (max-width:900px) {
  .homeArticle {
    width: 100%;
    margin-top: 10.93333vw
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-interview {
    margin-top: 20.63333vw
  }
}
.homeArticle a {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}
.homeArticle_container {
  display: flex;
  justify-content: space-between;
  position: relative
}
@media only screen and (max-width:900px) {
  .homeArticle_container {
    justify-content: flex-start
  }
}
@media only screen and (min-width:900px) {
  .is-imageLeft .homeArticle_container {
    flex-direction: row-reverse
  }
}
@media only screen and (max-width:900px) {
  .is-imageRight .homeArticle_container {
    flex-direction: row-reverse
  }
}
@media only screen and (min-width:900px) {
  .homeArticle_headline {
    width: 29%
  }
}
@media only screen and (max-width:900px) {
  .homeArticle_headline {
    position: absolute;
    top: -5%;
    z-index: 1;
    width: 16.9vw
  }
  .is-imageRight .homeArticle_headline {
    left: 6.6vw
  }
  .is-imageLeft .homeArticle_headline {
    left: 79.2vw
  }
}
.homeArticle_wrap {
  width: 71%;
  position: relative
}
@media only screen and (max-width:900px) {
  .homeArticle_wrap {
    width: 86.4%
  }
}
@media only screen and (min-width:900px) {
  .homeArticle_wrap:hover .buttonMore i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.homeArticle_image {
  position: relative;
  height: 560px
}
@media only screen and (max-width:900px) {
  .homeArticle_image {
    height: 85.33333vw
  }
}
.homeArticle_image > div {
  top: -10%;
  left: 0;
  position: absolute;
  width: 100%;
  height: 120%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media only screen and (min-width:900px) {
  .homeArticle_buttonMore {
    position: absolute;
    right: 2.8%;
    bottom: 1.4%;
    z-index: 1;
    pointer-events: none
  }
}
@media only screen and (max-width:900px) {
  .homeArticle.is-business .homeArticle_buttonMore, .homeArticle.is-philosophy .homeArticle_buttonMore {
    margin-top: 4vw
  }
  .homeArticleSlider .homeArticle_buttonMore {
    position: absolute;
    left: 2.8%;
    bottom: 1.4%;
    z-index: 1
  }
}
.homeArticleSlider_item {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden
}
.homeArticleSlider_image {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0
}
.homeArticleSlider_image > div {
  position: absolute;
  left: 0;
  top: -10%;
  width: 100%;
  height: 120%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.homeArticleSlider_content {
  z-index: 2;
  bottom: 3.5%;
  position: absolute;
  color: #fff;
  left: 2.8%
}
@media only screen and (max-width:900px) {
  .homeArticleSlider_content {
    bottom: 10%
  }
}
.homeArticleSlider_num {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 5px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .homeArticleSlider_num {
    font-size: 7.2vw
  }
}
.homeArticleSlider_body {
  font-size: 1.7rem;
  line-height: 1.52941
}
@media only screen and (max-width:900px) {
  .homeArticleSlider_body {
    font-size: 4.8vw;
    line-height: 1.55556
  }
}
.homeArticleSlider .slick-list {
  width: 100%;
  height: 560px
}
@media only screen and (max-width:900px) {
  .homeArticleSlider .slick-list {
    height: 112vw
  }
}
.homeArticleSlider .slick-slide {
  height: 100%
}
.homeArticleSlider .slick-slide > div, .homeArticleSlider .slick-track {
  width: 100%;
  height: 100%
}
.homeArticleSlider .slick-dots {
  position: absolute;
  align-items: center;
  display: flex;
  z-index: 3;
  counter-reset: _count
}
@media only screen and (min-width:900px) {
  .homeArticleSlider .slick-dots {
    bottom: -30px;
    right: 20px;
    justify-content: flex-end
  }
}
@media only screen and (max-width:900px) {
  .homeArticleSlider .slick-dots {
    bottom: 6%;
    right: 8.8vw
  }
}
.homeArticleSlider .slick-dots li {
  width: 12px;
  height: 12px;
  background-color: transparent;
  cursor: pointer;
  vertical-align: middle;
  display: block;
  padding: 0;
  margin-left: 15px;
  position: relative;
  border: 2px solid #e60033;
  border-radius: 50%;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
@media only screen and (max-width:900px) {
  .homeArticleSlider .slick-dots li {
    border-color: #fff;
    width: 8px;
    height: 8px
  }
}
.homeArticleSlider .slick-dots li:after {
  position: absolute;
  left: 0;
  top: -30px;
  display: block;
  content: "";
  width: 100%;
  height: 35px;
  z-index: 0
}
.homeArticleSlider .slick-dots li button {
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
  outline: none
}
@media only screen and (min-width:768px) {
  .homeArticleSlider .slick-dots li {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .homeArticleSlider .slick-dots li:hover {
    background-color: #e60033
  }
}
@media only screen and (min-width:768px) and (max-width:900px) {
  .homeArticleSlider .slick-dots li:hover {
    background-color: #fff
  }
}
.homeArticleSlider .slick-dots .slick-active {
  pointer-events: none;
  background-color: #e60033
}
@media only screen and (max-width:900px) {
  .homeArticleSlider .slick-dots .slick-active {
    background-color: #fff
  }
}
.homeHero {
  position: relative;
  height: 100vh;
  z-index: 0;
  background-color: #000	
}
.homeHero:before {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  transition: 1s cubic-bezier(.165, .84, .44, 1) 1s
}
.is-loaded .homeHero:before {
  opacity: 0
}
.homeHero_copy {
  z-index: 4;
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center
}
@media only screen and (min-width:900px) {
  .homeHero_copy > div {
    width: 150px
  }
}
@media only screen and (max-width:900px) {
  .firefox .homeHero_copy > div {
    width: 11.9vw
  }
}
.homeHero_copy img {
  display: block;
  width: auto;
  height: 100%
}
.homeHero_body {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%
}
@media only screen and (max-width:900px) {
  .homeHero_body {
    padding: 0 8.53333%
  }
}
.homeHero_body p {
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  line-height: 2.6;
  letter-spacing: .14em
}
@media only screen and (max-width:900px) {
  .homeHero_body p {
    /*font-size: 4vw*/
	font-size: 3.8vw
  }
}
.homeHero_overlay {
  background-color: #000;
  opacity: .08;
  z-index: 2
}
.homeHero_overlay, .homeHeroMp4 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}
.homeHeroMp4 {
  box-sizing: border-box;
  z-index: 1;
  overflow: hidden
}
.homeHeroMp4_content {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.homeHeroMp4_content video {
  display: block;
  /*width: 120%*/
  width: 100%
}
@media only screen and (min-width:900px) {
  .homeHeroMp4_content video {  
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
  }
}
@media only screen and (max-width:900px) {
  .homeHeroMp4_content video {
    left: 0;
    min-height: 100%;
    min-height: 100vh;
    min-width: 120%;
    min-width: 120vw;
    position: absolute;
    top: -2px;
    z-index: 1
  }
}
.homeHeroMp4_ {
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  height: 100%;
  width: 100%;
  z-index: 1;
  overflow: hidden
}
.homeHeroMp4__content {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.homeHeroMp4__content video {
  display: block;
  width: 100%
}
@media only screen and (min-width:900px) {
  .homeHeroMp4__content video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
  }
}
.homeHero_copy > div {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0)
}
.is-loaded .homeHero_copy > div {
  -webkit-animation: clipY 1.2s cubic-bezier(.785, .135, .15, .86) 1.4s normal forwards;
  animation: clipY 1.2s cubic-bezier(.785, .135, .15, .86) 1.4s normal forwards
}
.homeHero_body p {
  opacity: 0
}
.homeHero_body p span {
  display: block
}
.homeHero_body_v1 p span {
  display: block;
  opacity: 0
}
.homeHero__copy > div {
  opacity: 0
}
.homeNews {
  padding-top: 200px
}
@media only screen and (max-width:900px) {
  .homeNews {
    padding-top: 100px
  }
}
.homeNews_container {
  background-color: #fff;
  /*width: 88.5%;*/
  width: 100%;
  padding: 47px 0 23px;
  position: relative;
  z-index: 5
}
@media only screen and (max-width:900px) {
  .homeNews_container {
    /*width: 91.46667%;*/
    padding: 35px 4.5% 25px
  }
}
.homeNews_content {
  display: flex;
  align-items: center
}
@media only screen and (min-width:900px) {
  .homeNews_content:hover .homeNews_arrow {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.homeNews_arrow {
  width: 53px;
  position: absolute;
  right: 4.5%;
  top: calc(50% - 32px);
  z-index: 1;
  line-height: 1
}
.homeNews_arrow:before {
  content: "";
  font-weight: 700;
  font-size: 53px
}
.homeNews_wrap {
  display: flex;
  align-items: center;
  width: 100%
}
.homeNewsHead {
  background-color: #e60033;
  width: 328px;
  height: 42px;
  position: absolute;
  left: 4.3%;
  top: -20px;
  display: flex
}
@media only screen and (max-width:900px) {
  .homeNewsHead {
    width: 260px;
    height: 34px;
    left: 0;
    top: -20px
  }
}
.homeNewsHead_title {
  /*font-size: 2.1rem;*/
  font-size: 1.5rem;
  letter-spacing: .1em;
  position: relative;
  color: #fff;
  width: 135px;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center
}
@media only screen and (max-width:900px) {
  .homeNewsHead_title {
    /*font-size: 1.5rem;*/
    font-size: 1rem;
    width: 110px
  }
}
.homeNewsHead_title:before {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 18px);
  right: -5px;
  top: 9px;
  background-color: #fff
}
@media only screen and (max-width:900px) {
  .homeNewsHead_title:before {
    right: 0
  }
}
.homeNewsHead_button {
  width: calc(100% - 135px);
  display: flex;
  justify-content: center;
  align-items: center
}
@media only screen and (max-width:900px) {
  .homeNewsHead_button {
    width: calc(100% - 110px)
  }
}
.homeNewsHead_button a {
  display: flex;
  justify-content: center;
  align-items: center
}
@media only screen and (min-width:900px) {
  .homeNewsHead_button a:hover i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.homeNewsHead_button a span {
  font-size: 1.3rem;
  letter-spacing: .25em;
  color: #fff;
  margin-right: 5px;
  margin-left: 10px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .homeNewsHead_button a span {
    font-size: 1rem
  }
}
.homeNewsHead_button a i {
  margin-left: 10px
}
.homeNewsHead_button a i:before {
  content: "";
  color: #fff;
  font-size: 36px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .homeNewsHead_button a i:before {
    font-size: 28px
  }
}
.homeNewsCard {
  display: flex;
  align-items: center;
  width: 50%;
  padding: 0 5.5% 10px 0;
  position: relative;
  justify-content: space-between	  
}
.homeNewsCard:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .homeNewsCard {
    width: 100%;
    padding: 0;
    align-items: flex-start
  }
  .homeNewsCard:before {
    content: ""
  }
  .homeNewsCard:nth-child(2) {
    display: none
  }
}
.homeNewsCard:before {
  font-size: 40px;
  position: absolute;
  right: 42px;
  top: -3px;
  display: block;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
@media only screen and (max-width:900px) {
  .homeNewsCard:before {
    right: 0;
    top: -12px
  }
}
@media only screen and (min-width:900px) {
  .homeNewsCard:first-child {
    border-right: 2px solid #e60033
  }
}
@media only screen and (min-width:900px) {
  .homeNewsCard:hover:before {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.homeNewsCard_date {
  padding: 0 0 0 5%;
  margin-top: -10px;
  display: grid;
  place-items: center
}
@media only screen and (min-width:900px) {
  .homeNewsCard_date {
    width: 140px
  }
}
@media only screen and (max-width:900px) {
  .homeNewsCard_date {
    padding: 0;
    margin-top: 0;
    width: 46px
  }
}
.homeNewsCard_date span {
  font-weight: 700;
  display: block;
  font-family: Sen, sans-serif;
}
.homeNewsCard_date span.is-main {
  font-size: 5.6rem;
  margin-bottom: 3px
}
@media only screen and (max-width:900px) {
  .homeNewsCard_date span.is-main {
    font-size: 3.5rem
  }
}
.homeNewsCard_date span.is-sub {
  font-size: 1.6rem;
  letter-spacing: .06em
}
@media only screen and (max-width:900px) {
  .homeNewsCard_date span.is-sub {
    font-size: 1rem
  }
}
.homeNewsCard_content {
  position: relative
}
@media only screen and (min-width:900px) {
  .homeNewsCard_content {
    width: calc(100% - 150px)
  }
}
@media only screen and (max-width:900px) {
  .homeNewsCard_content {
    width: calc(100% - 60px)
  }
}
.homeNewsCard_category {
  margin-bottom: 8px
}
.homeNewsCard_category span {
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  border: 1px solid #e60033;
  padding: 8px 6px
}
@media only screen and (max-width:900px) {
  .homeNewsCard_category span {
    font-size: 1rem;
    padding: 4px 10px
  }
}
.homeNewsCard_body p {
  font-size: 1.4rem;
  line-height: 1.84615;
  letter-spacing: .15em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden
}
@media only screen and (max-width:900px) {
  .homeNewsCard_body p {
    font-size: 1.1rem;
    line-height: 1.90909;
    -webkit-line-clamp: 2
  }
}
.homeRecruit {
  /*margin-top: 245px;*/
	margin-top: 380px;
  position: relative
}
@media only screen and (min-width:900px) {
  .homeRecruit {
    margin-left: auto;
    margin-right: auto;
    max-width: 1710px;
    padding-left: 55px;
    padding-right: 55px
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit {
    width: 100%;
    margin-top: 50vw
  }
}
.homeRecruit_container {
  position: relative
}
@media only screen and (min-width:900px) {
  .homeRecruit_container {
    height: 630px
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit_container {
    /*padding-bottom: 200px*/
	padding-bottom: 50px  
  }
}
.homeRecruit_content {
  max-width: 834px;
  margin: 0 auto;
  position: relative;
  z-index: 6;
  padding: 164px 0 0
}
@media only screen and (max-width:900px) {
  .homeRecruit_content {
    padding-top: 94px
  }
}
.homeRecruit_headline {
  top: -105px;
  left: calc(50% - 34px);
  position: absolute;
  margin-left: -40px
}
@media only screen and (max-width:900px) {
  .homeRecruit_headline {
    top: -23%;
    left: calc(50% - 15px);
    margin-left: 0
  }
}
@media only screen and (min-width:900px) {
  .homeRecruit_menu {
    display: flex;
    justify-content: space-between
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit_menu {
    width: 72%;
    margin: 0 auto
  }
}
@media only screen and (max-width:900px) {
  .homeRecruit_menu .buttonFill {
    margin-bottom: 15px
  }
}
.homeRecruit_button {
  margin: 65px auto 0
}
@media only screen and (max-width:900px) {
  .homeRecruit_button {
    width: 72%;
    margin-top: 15px
  }
}
.homeRecruit_image {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%
}
.homeRecruit_image > div {
  position: absolute;
  width: 100%;
  height: 120%;
  top: -10%;
  left: 0;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.homeWelcome {
  margin-top: 85px;
  position: relative
}
@media only screen and (min-width:900px) {
  .homeWelcome {
    margin-left: auto;
    margin-right: auto;
    max-width: 1710px;
    padding-left: 55px;
    padding-right: 55px
  }
}
@media only screen and (max-width:900px) {
  .homeWelcome {
    width: 100%
  }
}
.homeWelcome_headline {
  position: absolute;
  top: 11%;
  right: 7.6%;
  z-index: 2
}
@media only screen and (max-width:900px) {
  .homeWelcome_headline {
    right: 5.33333vw;
    top: -5%
  }
}
.homeWelcome_buttonMore {
  position: absolute;
  left: -2px;
  bottom: 46px
}
.homeWelcomeSlider_item {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden
}
.homeWelcomeSlider_item > a {
  display: block
}
@media only screen and (min-width:900px) {
  .homeWelcomeSlider_item > a:hover .buttonMore i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.homeWelcomeSlider_image {
  width: 100%;
  height: 120%;
  position: absolute;
  left: 0;
  top: 0;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.homeWelcomeSlider_content {
  position: absolute;
  z-index: 2;
  left: 6.9%;
  top: 31.1%
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider_content {
    left: 8.8vw;
    top: auto;
    bottom: 5%
  }
}
.homeWelcomeSlider_num {
  font-size: 1.8rem;
  letter-spacing: .08em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider_num {
    font-size: 3.2vw;
    color: #fff
  }
}
.is-white .homeWelcomeSlider_num {
  color: #fff
}
.homeWelcomeSlider_headline {
  font-size: 3rem;
  letter-spacing: .19em;
  line-height: 1.66667;
  margin-bottom: 32px
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider_headline {
    font-size: 4.8vw;
    line-height: 1.55556;
    color: #fff;
    margin-bottom: 4.26667vw
  }
}
.is-white .homeWelcomeSlider_headline {
  color: #fff
}
.is-black .homeWelcomeSlider_headline {
  color: #333
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider_button > div i:before, .homeWelcomeSlider_button > div span {
    color: #fff
  }
}
.homeWelcomeSlider .slick-list {
  width: 100%;
  height: 100%;
  height: 560px
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider .slick-list {
    height: 154.66667vw
  }
}
.homeWelcomeSlider .slick-slide {
  height: 100%
}
.homeWelcomeSlider .slick-slide > div, .homeWelcomeSlider .slick-track {
  width: 100%;
  height: 100%
}
.homeWelcomeSlider .slick-dots {
  position: absolute;
  align-items: center;
  display: flex;
  z-index: 3;
  counter-reset: _count
}
@media only screen and (min-width:900px) {
  .homeWelcomeSlider .slick-dots {
    bottom: -30px;
    right: 20px;
    justify-content: flex-end
  }
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider .slick-dots {
    bottom: 6%;
    right: 8.8vw
  }
}
.homeWelcomeSlider .slick-dots li {
  width: 12px;
  height: 12px;
  background-color: transparent;
  cursor: pointer;
  vertical-align: middle;
  display: block;
  padding: 0;
  margin-left: 15px;
  position: relative;
  border: 2px solid #e60033;
  border-radius: 50%;
  transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider .slick-dots li {
    border-color: #fff;
    width: 8px;
    height: 8px
  }
}
.homeWelcomeSlider .slick-dots li:after {
  position: absolute;
  left: 0;
  top: -30px;
  display: block;
  content: "";
  width: 100%;
  height: 35px;
  z-index: 0
}
.homeWelcomeSlider .slick-dots li button {
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
  outline: none
}
@media only screen and (min-width:768px) {
  .homeWelcomeSlider .slick-dots li {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .homeWelcomeSlider .slick-dots li:hover {
    background-color: #e60033
  }
}
@media only screen and (min-width:768px) and (max-width:900px) {
  .homeWelcomeSlider .slick-dots li:hover {
    background-color: #fff
  }
}
.homeWelcomeSlider .slick-dots .slick-active {
  pointer-events: none;
  background-color: #e60033
}
@media only screen and (max-width:900px) {
  .homeWelcomeSlider .slick-dots .slick-active {
    background-color: #fff
  }
}
.interview_section {
  position: relative
}
.interview_illust {
  display: none
}
.interview_image {
  position: sticky;
  top: 0;
  z-index: 0;
  left: 0;
  width: 100%;
  height: 100vh
}
.interview_image > div:not(.illust) {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.interview_image:before {
  content: "";
  background-color: #000;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 6;
  opacity: 0;
  transition: 2s cubic-bezier(.165, .84, .44, 1)
}
.show-content .interview_image:before {
  opacity: .7
}
.interviewArticle {
  color: #fff;
  position: relative;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .interviewArticle {
    padding-bottom: 20px
  }
}
.interviewArticle_wrap {
  max-width: 836px;
  margin: 0 auto
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .interviewArticle_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.interviewArticle_title {
  font-size: 2.6rem;
  line-height: 2;
  margin-bottom: 40px;
  letter-spacing: .19em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .interviewArticle_title {
    font-size: 1.8rem;
    margin-bottom: 20px
  }
}
@media only screen and (min-width:900px) {
  .interviewArticle_content {
    padding-bottom: 150px
  }
}
.interviewArticle_content.is-column2 {
  display: flex;
  flex-wrap: wrap
}
.interviewArticle_content.is-column2 dt {
  width: 65px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .interviewArticle_content.is-column2 dt {
    width: 50px
  }
}
.interviewArticle_content.is-column2 dd {
  width: calc(100% - 65px)
}
@media only screen and (max-width:900px) {
  .interviewArticle_content.is-column2 dd {
    width: calc(100% - 50px)
  }
}
.interviewArticle_content dd, .interviewArticle_content dt {
  font-size: 1.6rem;
  line-height: 2.5;
  margin-bottom: 40px;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .interviewArticle_content dd, .interviewArticle_content dt {
    letter-spacing: .1em;
    font-size: 1.4rem;
    margin-bottom: 25px;
    line-height: 1.85714
  }
}
.interviewArticle_content dd {
  text-align: justify;
  text-justify: inter-ideograph
}
.interviewHeadline {
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  position: relative;
  z-index: 5
}
@media only screen and (max-width:900px) {
  .interviewHeadline {
    margin-left: 20px
  }
  .interviewHero .interviewHeadline {
    margin-left: 30px
  }
}
.interviewHeadline_head {
  text-align: center
}
@media only screen and (min-width:900px) {
  .interviewHeadline_head {
    margin-left: 5px
  }
}
.interviewHeadline_head span {
  display: block;
  font-weight: 700;
  letter-spacing: .2em
}
@media only screen and (max-width:900px) {
  .interviewHeadline_head span {
    color: #fff
  }
  .interviewMenu .interviewHeadline_head span {
    width: 28px
  }
  .interviewHero .interviewHeadline_head span {
    width: 32px
  }
}
.interviewMenu .interviewHeadline_head span {
  font-size: 1.3rem
}
@media only screen and (max-width:900px) {
  .interviewMenu .interviewHeadline_head span {
    font-size: 1.1rem;
    color: #e60033
  }
}
.interviewHero .interviewHeadline_head span {
  font-size: 1.9rem
}
@media only screen and (max-width:900px) {
  .interviewHero .interviewHeadline_head span {
    font-size: 1.3rem
  }
}
.page--interviewSingle .interviewMenu .interviewHeadline_head span {
  color: #fff
}
.interviewHeadline_head span.is-jp {
  line-height: 2.76923;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
.safari.desktop .interviewHeadline_head span.is-num {
  margin-left: 10px
}
.interviewHeadline_title {
  display: flex;
  flex-direction: row-reverse
}
.interviewHeadline_title > div {
  margin-left: 20px
}
@media only screen and (min-width:900px) {
  .interviewMenu .interviewHeadline_title > div {
    width: 52px
  }
  .interviewHero .interviewHeadline_title > div {
    width: 56px
  }
}
@media only screen and (max-width:900px) {
  .interviewHeadline_title > div {
    margin-left: 10px
  }
  .interviewMenu .interviewHeadline_title > div {
    width: 34px
  }
  .interviewHero .interviewHeadline_title > div {
    width: 45px
  }
}
.interviewHeadline_title > div:last-child {
  margin-left: 0
}
.interviewHeadline_title > div > span {
  background-color: #fff;
  font-weight: 700;
  letter-spacing: .21em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
.interviewMenu .interviewHeadline_title > div > span {
  font-size: 2.8rem;
  padding: 13px
}
@media only screen and (max-width:900px) {
  .interviewMenu .interviewHeadline_title > div > span {
    font-size: 1.6rem;
    letter-spacing: .17em;
    padding: 8px 6px
  }
}
.interviewHero .interviewHeadline_title > div > span {
  font-size: 3.4rem;
  padding: 13px 11px
}
@media only screen and (max-width:900px) {
  .interviewHero .interviewHeadline_title > div > span {
    font-size: 2.4rem
  }
}
.interviewHeadline_title > div > span.has-paddingTop {
  padding-top: 0
}
.interviewHeadline_title > div > span.has-paddingBottom {
  padding-bottom: 0
}
.interviewHeadline_chapter {
  display: flex;
  flex-direction: row-reverse
}
@media only screen and (min-width:900px) {
  .interviewHeadline_chapter > div {
    margin-left: 20px
  }
}
@media only screen and (max-width:900px) {
  .interviewHeadline_chapter > div {
    width: 60px;
    margin-left: -5px
  }
}
.interviewHeadline_chapter > div:last-child {
  margin-left: 0
}
.interviewHeadline_chapter > div > span {
  font-size: 2.9rem;
  line-height: 1.7931;
  letter-spacing: .19em;
  padding: 14px 6px;
  background-color: #e60033;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  width: 63px
}
@media only screen and (max-width:900px) {
  .interviewHeadline_chapter > div > span {
    font-size: 2rem;
    letter-spacing: .21em;
    padding: 10px 5px;
    width: 45px
  }
}
.interviewHeadline_chapter > div > span.has-paddingTop {
  padding-top: 0
}
.interviewHeadline_chapter > div > span.has-paddingBottom {
  padding-bottom: 0
}
.interviewHeadline_chapter > div {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0)
}
.inView .interviewHeadline_chapter > div:first-child {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .1s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .1s normal forwards
}
.inView .interviewHeadline_chapter > div:nth-child(2) {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .3s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .3s normal forwards
}
.inView .interviewHeadline_chapter > div:nth-child(3) {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .5s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .5s normal forwards
}
.inView .interviewHeadline_chapter > div:nth-child(4) {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .7s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) .7s normal forwards
}
.interview .interviewHeadline_head {
  -webkit-transform: translateX(-20px);
  transform: translateX(-20px);
  opacity: 0;
  transition: 1.3s cubic-bezier(.175, .885, .32, 1.275) 1s
}
.is-loaded .interview .interviewHeadline_head {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1
}
.interview .interviewHeadline_title > div {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0)
}
.is-loaded .interview .interviewHeadline_title > div:first-child {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) 1.5s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) 1.5s normal forwards
}
.is-loaded .interview .interviewHeadline_title > div:nth-child(2) {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) 1.7s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) 1.7s normal forwards
}
.is-loaded .interview .interviewHeadline_title > div:nth-child(3) {
  -webkit-animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) 1.9s normal forwards;
  animation: interviewHeadline .9s cubic-bezier(.785, .135, .15, .86) 1.9s normal forwards
}
@-webkit-keyframes interviewHeadline {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
@keyframes interviewHeadline {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  to {
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}
.interviewHero {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden
}
.interviewHero_content {
  height: 100vh;
  display: grid;
  place-items: center
}
.interviewHero_image {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.interviewHome {
  display: grid;
  place-items: center;
  position: relative;
  z-index: 5
}
@media only screen and (min-width:900px) {
  .interviewHome {
    height: 90vh
  }
}
@media only screen and (max-width:900px) {
  .interviewHome {
    padding: 110px 0
  }
}
.interviewHome_menu {
  position: relative
}
.interviewMenu_section {
  height: 560px;
  position: relative;
  display: grid;
  place-items: center
}
@media only screen and (max-width:900px) {
  .interviewMenu_section {
    height: 80vw
  }
}
.interviewMenu_section:last-child {
  height: 730px;
  padding-bottom: 85px
}
@media only screen and (max-width:900px) {
  .interviewMenu_section:last-child {
    height: 100vw
  }
}
@media only screen and (min-width:900px) {
  .page--interviewArchive .interviewMenu_section:last-child .interviewHeadline, .page--interviewSingle .interviewMenu_section:last-child .interviewHeadline {
    margin-top: -8%
  }
}
@media only screen and (min-width:900px) {
  .page--interviewArchive .interviewMenu_section:last-child .interviewMenu_button, .page--interviewSingle .interviewMenu_section:last-child .interviewMenu_button {
    margin-top: -10%
  }
}
@media only screen and (max-width:900px) {
  .page--interviewArchive .interviewMenu_section:last-child .interviewMenu_button, .page--interviewSingle .interviewMenu_section:last-child .interviewMenu_button {
    bottom: auto;
    top: 68vw
  }
}
.page--interviewSingle .interviewMenu_section:before {
  content: "";
  background-color: rgba(0, 0, 0, .4);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1
}
.interviewMenu_button {
  position: absolute;
  z-index: 2
}
@media only screen and (min-width:900px) {
  .interviewMenu_button {
    right: 1.8%;
    top: calc(50% - 23px)
  }
}
@media only screen and (max-width:900px) {
  .interviewMenu_button {
    right: 3%;
    bottom: 3%
  }
}
.page--interviewSingle .interviewMenu_button {
  color: #fff
}
.interviewMenu_image {
  top: 0;
  left: 0;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media only screen and (min-width:900px) {
  .interviewMenu .interviewMenu_image {
    transition: 2.5s cubic-bezier(.19, 1, .22, 1)
  }
  .interviewMenu_section {
    overflow: hidden
  }
  .interviewMenu_section:hover .interviewMenu_image {
    -webkit-transform: scale(1.04);
    transform: scale(1.04)
  }
  .interviewMenu_section:hover .interviewMenu_button i {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
}
.interviewMessage {
  padding-top: 100px;
  padding-bottom: 150px;
  position: relative;
  overflow: hidden
}
@media only screen and (max-width:900px) {
  .interviewMessage {
    padding-top: 50px;
    padding-bottom: 50px
  }
}
.interviewMessage_copy {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 6
}
.interviewMessage_copy p {
  font-size: 2.4rem;
  letter-spacing: .19em;
  background-color: #fff;
  padding: 16px 3px;
  font-weight: 700;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .interviewMessage_copy p {
    padding: 12px 5px;
    font-size: 1.8rem
  }
}
.interviewMessage_list {
  margin-top: -60px;
  position: relative;
  z-index: 5
}
.interviewMessageCard {
  max-width: 836px;
  margin: 0 auto;
  position: relative
}
@media only screen and (max-width:900px) {
  .interviewMessageCard {
    margin-bottom: 15px
  }
}
.interviewMessageCard:before {
  content: "";
  padding-top: 35.8%;
  display: block
}
@media only screen and (max-width:900px) {
  .interviewMessageCard:before {
    padding-top: 77.4%
  }
}
.interviewMessageCard.is-imageLeft .interviewMessageCard_title {
  left: -30px
}
@media only screen and (max-width:900px) {
  .interviewMessageCard.is-imageLeft .interviewMessageCard_title {
    left: 6%
  }
}
.interviewMessageCard.is-imageLeft .interviewMessageCard_copy {
  right: 10%;
  text-align: right
}
@media only screen and (max-width:900px) {
  .interviewMessageCard.is-imageLeft .interviewMessageCard_copy {
    text-align: left;
    right: auto;
    left: 20%
  }
}
@media only screen and (max-width:900px) {
  .interviewMessageCard.is-imageLeft .interviewMessageCard_image {
    left: auto;
    right: 0
  }
}
.interviewMessageCard.is-imageRight .interviewMessageCard_title {
  right: -30px
}
@media only screen and (max-width:900px) {
  .interviewMessageCard.is-imageRight .interviewMessageCard_title {
    right: 6%
  }
}
.interviewMessageCard.is-imageRight .interviewMessageCard_copy {
  right: -10%
}
@media only screen and (max-width:900px) {
  .interviewMessageCard.is-imageRight .interviewMessageCard_copy {
    text-align: right;
    right: 20%
  }
}
.interviewMessageCard_title {
  position: absolute
}
@media only screen and (min-width:900px) {
  .interviewMessageCard_title {
    top: 5px
  }
}
@media only screen and (max-width:900px) {
  .interviewMessageCard_title {
    top: 0
  }
}
.interviewMessageCard_title span {
  font-size: 1.5rem;
  letter-spacing: .12em;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .interviewMessageCard_title span {
    font-size: 1.33rem;
    letter-spacing: .2em;
    width: 23px
  }
}
.interviewMessageCard_image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media only screen and (max-width:900px) {
  .interviewMessageCard_image {
    width: 86.13333%
  }
}
.interviewMessageCard_copy {
  font-size: 2.6rem;
  letter-spacing: .19em;
  line-height: 1.80769;
  width: 100%;
  font-weight: 700;
  color: #fff
}
@media only screen and (min-width:900px) {
  .interviewMessageCard_copy {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }
}
@media only screen and (max-width:900px) {
  .interviewMessageCard_copy {
    font-size: 2rem;
    line-height: 1.7;
    letter-spacing: .16em;
    top: auto;
    bottom: 6%;
    position: absolute
  }
}
.interviewProfile {
  position: relative;
  z-index: 1
}
.interviewProfile_wrap {
  max-width: 836px;
  margin: 0 auto;
  padding-bottom: 150px
}
@media only screen and (max-width:900px) {
  .interviewProfile_wrap {
    padding-bottom: 30px
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .interviewProfile_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.interviewProfile_body {
  font-size: 1.6rem;
  line-height: 2.5;
  margin-bottom: 100px;
  color: #fff;
  font-weight: 700;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .interviewProfile_body {
    font-size: 1.4rem;
    line-height: 1.85714;
    letter-spacing: .1em;
    margin-bottom: 50px
  }
}
.interviewProfileCard {
  margin-bottom: 160px;
  color: #fff
}
@media only screen and (max-width:900px) {
  .interviewProfileCard {
    margin-bottom: 50px
  }
}
.interviewProfileCard.is-imageRight .interviewProfileCard_wrap {
  flex-direction: row-reverse
}
.interviewProfileCard_left {
  width: 37.08134%
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_left {
    width: 41.40127%
  }
}
.interviewProfileCard_right {
  width: 53.82775%
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_right {
    width: 51.91083%
  }
}
.interviewProfileCard_wrap {
  display: flex;
  justify-content: space-between
}
@media only screen and (min-width:900px) {
  .interviewProfileCard_image {
    margin-bottom: 45px
  }
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_image {
    margin-top: 17px
  }
}
.interviewProfileCard_title {
  font-size: 1.7rem;
  font-weight: 700;
  border-bottom: 1px solid #fff;
  padding-bottom: 20px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_title {
    font-size: 1.02rem;
    padding-bottom: 8px
  }
}
.interviewProfileCard_name {
  padding: 23px 0 30px;
  border-bottom: 1px solid #fff
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_name {
    padding: 12px 0
  }
}
.interviewProfileCard_name span {
  display: block
}
.interviewProfileCard_name span.is-jp {
  font-size: 3rem;
  letter-spacing: .12em;
  margin-bottom: 15px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_name span.is-jp {
    font-size: 1.9rem;
    margin-bottom: 7px
  }
}
.interviewProfileCard_name span.is-en {
  font-size: 1.4rem;
  letter-spacing: .08em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_name span.is-en {
    font-size: 1rem
  }
}
.interviewProfileCard_spec {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.88235;
  letter-spacing: .12em;
  padding: 20px 0 25px;
  border-bottom: 1px solid #fff
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_spec {
    font-size: 1.2rem;
    line-height: 1.58333;
    padding: 8px 0 10px
  }
}
.interviewProfileCard_body {
  font-size: 1.5rem;
  line-height: 2.33333;
  letter-spacing: .06em;
  padding-top: 30px;
  text-align: justify;
  text-justify: inter-ideograph
}
@media only screen and (max-width:900px) {
  .interviewProfileCard_body {
    font-size: 1.2rem;
    line-height: 2.08333;
    padding-top: 20px
  }
}
.interviewProfileFavorite {
  display: flex;
  justify-content: space-between;
  margin-left: 10px
}
@media only screen and (max-width:900px) {
  .interviewProfileFavorite {
    padding-top: 25px
  }
}
.interviewProfileFavorite_image {
  position: relative;
  width: 88px;
  height: 88px
}
@media only screen and (max-width:900px) {
  .interviewProfileFavorite_image {
    width: 57px;
    height: 57px
  }
}
.interviewProfileFavorite_image:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  border: 1px solid #fff
}
.interviewProfileFavorite_image:before {
  content: "";
  display: block;
  position: absolute;
  left: -9px;
  top: -16px;
  width: 107px;
  height: 36px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url("../img/interview/favorite_title.svg")
}
@media only screen and (max-width:900px) {
  .interviewProfileFavorite_image:before {
    top: -13px;
    width: 73px;
    height: 25px
  }
}
.interviewProfileFavorite_content {
  width: calc(100% - 118px);
  margin-top: -10px
}
@media only screen and (max-width:900px) {
  .interviewProfileFavorite_content {
    width: calc(100% - 80px)
  }
}
.interviewProfileFavorite_title {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: .04em
}
@media only screen and (max-width:900px) {
  .interviewProfileFavorite_title {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 0
  }
}
.interviewProfileFavorite_body {
  font-size: 1.4rem;
  line-height: 1.71429;
  letter-spacing: .08em
}
@media only screen and (max-width:900px) {
  .interviewProfileFavorite_body {
    font-size: 1rem;
    line-height: 1.55556
  }
}
@media only screen and (max-width:900px) {
  .article_button {
    display: flex;
    justify-content: center
  }
}
.articleHead {
  display: flex;
  border-bottom: 4px solid #e60033;
  margin-bottom: 60px;
  padding: 67px 0 58px
}
@media only screen and (max-width:900px) {
  .articleHead {
    align-items: flex-start;
    padding: 40px 0 25px;
    margin-bottom: 40px
  }
}
@media only screen and (min-width:900px) {
  .articleHead_date {
    width: 16%;
    margin-top: -5px
  }
}
@media only screen and (max-width:900px) {
  .articleHead_date {
    width: 70px
  }
}
.articleHead_date span {
  display: block;
  font-family: Sen, sans-serif;
}
.articleHead_date span.is-day {
  font-size: 5.6rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: 4px
}
@media only screen and (max-width:900px) {
  .articleHead_date span.is-day {
    font-size: 3.5rem;
    padding-left: 3px
  }
}
.articleHead_date span.is-month {
  font-size: 1.6rem;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .articleHead_date span.is-month {
    font-size: 1.2rem
  }
}
@media only screen and (min-width:900px) {
  .articleHead_content {
    width: 84%
  }
}
@media only screen and (max-width:900px) {
  .articleHead_content {
    width: calc(100% - 70px)
  }
}
.articleHead_category {
  margin-bottom: 8px
}
@media only screen and (max-width:900px) {
  .articleHead_category {
    margin-bottom: 10px
  }
}
.articleHead_category span {
  background-color: #fff;
  font-size: 1.2rem;
  padding: 5px 10px
}
@media only screen and (max-width:900px) {
  .articleHead_category span {
    padding: 2px 5px
  }
}
.articleHead_headline span {
  font-size: 2.8rem;
  letter-spacing: .1em;
  line-height: 1.75
}
@media only screen and (max-width:900px) {
  .articleHead_headline span {
    font-size: 1.8rem
  }
}
.modules {
  margin-bottom: 60px
}
@media only screen and (max-width:900px) {
  .modules {
    margin-bottom: 30px
  }
}
.module_headlineLv1 {
  font-size: 2.4rem;
  line-height: 1.75;
  margin-bottom: 20px;
  letter-spacing: .1em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .module_headlineLv1 {
    font-size: 1.6rem;
    margin-bottom: 10px
  }
}
.module_headlineLv2 {
  font-size: 2rem;
  line-height: 1.75;
  margin-bottom: 30px;
  letter-spacing: .1em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .module_headlineLv2 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    line-height: 1.75
  }
}
.module_body {
  margin-bottom: 50px
}
@media only screen and (max-width:900px) {
  .module_body {
    margin-bottom: 30px
  }
}
.module_image {
  margin-bottom: 60px
}
@media only screen and (max-width:900px) {
  .module_image {
    margin-bottom: 40px
  }
}
.module_image > div {
  padding-top: 56.25%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.module_image > p {
  font-size: 1.2rem;
  line-height: 1.75;
  text-align: center;
  margin-top: 10px;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .module_image > p {
    font-size: 1.2rem
  }
}
.module_column2 {
  display: flex;
  justify-content: space-between
}
.module_column2 .module_image {
  padding-top: 0
}
.module_column2 > div {
  width: 47%;
  padding-top: 56.25%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media only screen and (max-width:900px) {
  .module_column2 > div {
    width: 48%
  }
}
.newsList {
  margin-top: 70px
}
@media only screen and (max-width:900px) {
  .newsList {
    margin-top: 35px
  }
}
.newsList_head {
  font-size: 2.8rem;
  letter-spacing: .16em;
  margin-top: 130px;
  padding: 125px 0 65px;
  border-top: 4px solid #e60033;
  border-bottom: 1px solid #cfcfca
}
@media only screen and (max-width:900px) {
  .newsList_head {
    padding: 80px 0 40px;
    font-size: 2.6rem;
    letter-spacing: .1em;
    margin-top: 80px
  }
}
.newsListCard {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #cfcfca;
  padding: 58px 0
}
@media only screen and (max-width:900px) {
  .newsListCard {
    padding: 30px 0;
    align-items: flex-start
  }
}
.newsListCard_date {
  width: 15.76674%
}
@media only screen and (max-width:900px) {
  .newsListCard_date {
    width: 75px
  }
}
.newsListCard_date span {
  display: block;
  font-family: Sen, sans-serif;
}
.newsListCard_date span.is-day {
  font-size: 5.6rem;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .newsListCard_date span.is-day {
    font-size: 3.5rem
  }
}
.newsListCard_date span.is-month {
  font-size: 1.6rem;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .newsListCard_date span.is-month {
    font-size: 1rem
  }
}
@media only screen and (min-width:900px) {
  .newsListCard_content {
    width: 84.23326%
  }
}
@media only screen and (max-width:900px) {
  .newsListCard_content {
    width: calc(100% - 75px)
  }
}
.newsListCard_category {
  margin-bottom: 20px
}
@media only screen and (max-width:900px) {
  .newsListCard_category {
    margin-bottom: 5px
  }
}
.newsListCard_category span {
  background-color: #fff;
  font-size: 1.2rem;
  padding: 5px 10px;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .newsListCard_category span {
    font-size: 1rem;
    padding: 2px 5px
  }
}
.newsListCard_headline span {
  font-size: 2.6rem;
  letter-spacing: .1em;
  line-height: 1.75
}
@media only screen and (max-width:900px) {
  .newsListCard_headline span {
    font-size: 1.6rem;
    line-height: 1.75
  }
}
.philosophyChallenge_section {
  margin-bottom: 150px;
  position: relative
}
@media only screen and (min-width:900px) {
  .philosophyChallenge_section {
    display: flex
  }
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_section {
    margin-bottom: 45px
  }
}
@media only screen and (min-width:900px) {
  .philosophyChallenge_num {
    width: 15.78947%
  }
}
@media only screen and (min-width:900px) and (max-width:1025px) {
  .philosophyChallenge_num {
    width: 140px
  }
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_num {
    position: absolute;
    left: 0;
    top: 6px
  }
}
.philosophyChallenge_num span.is-head {
  background-color: #e60033;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: .02em;
  padding: 6px 7px;
  margin-bottom: 10px;
  font-weight: 700;
  display: inline-block;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_num span.is-head {
    font-size: 1rem;
    padding: 4px 4px 3px;
    margin-bottom: 0
  }
}
.philosophyChallenge_num span.is-num {
  display: block;
  font-size: 7rem;
  letter-spacing: .02em;
  font-family: Sen, sans-serif;
}
@media only screen and (min-width:900px) {
  .philosophyChallenge_num span.is-num {
    margin-top: -8px
  }
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_num span.is-num {
    font-size: 4.9rem;
    padding-left: 5px
  }
}
@media only screen and (min-width:900px) {
  .philosophyChallenge_content {
    width: 84.21053%;
    padding-left: 7.3%;
    border-left: 2px solid #e60033
  }
}
@media only screen and (min-width:900px) and (max-width:1025px) {
  .philosophyChallenge_content {
    width: calc(100% - 140px)
  }
}
.philosophyChallenge_title {
  font-size: 2.9rem;
  letter-spacing: .12em;
  line-height: 1.93103;
  margin: -15px 0 60px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_title {
    font-size: 1.8rem;
    line-height: 1.77778;
    padding-left: 100px;
    padding-bottom: 25px;
    margin: 0 0 30px;
    border-bottom: 1px solid #e60033
  }
}
.philosophyChallenge_wrap {
  display: flex;
  flex-wrap: wrap
}
.philosophyChallenge_item {
  /*width: 46%*/
  width: 100%	
}
.philosophyChallenge_item:nth-child(odd) {
  margin-right: 8%
}
.philosophyChallenge_item:nth-child(3) {
  margin-top: 70px
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_item:nth-child(3) {
    margin-top: 25px
  }
}
.philosophyChallenge_icon {
  width: 80%;
  margin: 0 auto 30px
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_icon {
    width: 89.2%;
    margin-bottom: 20px
  }
}
.philosophyChallenge_body p {
  font-size: 1.5rem;
  line-height: 2.33333;
  letter-spacing: .03em
}
@media only screen and (max-width:900px) {
  .philosophyChallenge_body p {
    font-size: 1.2rem;
    line-height: 2.08333
  }
}
.philosophyChallenge_image img {
  width: 105%;
  height: auto
}
.philosophyEffort {
  margin-top: 70px
}
@media only screen and (min-width:900px) {
  .philosophyEffort {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }
}
@media only screen and (max-width:900px) {
  .philosophyEffort {
    margin-top: -10px
  }
}
.philosophyEffort_item {
  display: flex
}
@media only screen and (min-width:900px) {
  .philosophyEffort_item {
    width: 46.2%;
    margin-bottom: 80px
  }
}
@media only screen and (max-width:900px) {
  .philosophyEffort_item {
    margin-bottom: 40px
  }
}
.philosophyEffort_num {
  width: 17.61658%
}
.philosophyEffort_num span {
  font-size: 2.8rem;
  letter-spacing: .06em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .philosophyEffort_num span {
    font-size: 2rem
  }
}
.philosophyEffort_content {
  width: 82.38342%;
  border-left: 2px solid #e60033;
  padding: 0 0 165px 5%;
  position: relative
}
@media only screen and (max-width:900px) {
  .philosophyEffort_content {
    padding: 0 0 0 5%;
    border-left-width: 1px
  }
}
.philosophyEffort_title {
  font-size: 1.8rem;
  letter-spacing: .12em;
  margin: -8px 0 15px;
  line-height: 1.94444;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .philosophyEffort_title {
    font-size: 1.5rem;
    margin: -6px 0 15px
  }
}
.philosophyEffort_body {
  font-size: 1.5rem;
  line-height: 2.33333;
  letter-spacing: .04em;
  margin-bottom: 20px
}
@media only screen and (max-width:900px) {
  .philosophyEffort_body {
    font-size: 1.2rem;
    line-height: 2.08333;
    letter-spacing: .06em
  }
}
@media only screen and (min-width:900px) {
  .philosophyEffort_image {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 94%
  }
}
.philosophyMessage {
  margin-top: 90px
}
@media only screen and (max-width:900px) {
  .philosophyMessage {
    margin-top: 45px
  }
}
.philosophyMessage_headline {
  font-size: 2.9rem;
  line-height: 1.37931;
  letter-spacing: .12em;
  margin-bottom: 60px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .philosophyMessage_headline {
    font-size: 1.8rem;
    margin-bottom: 40px
  }
}
.philosophyMessage_title {
  font-size: 1.8rem;
  line-height: 1.66667;
  letter-spacing: .12em;
  margin-bottom: 40px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .philosophyMessage_title {
    font-size: 1.4rem;
    margin-bottom: 30px
  }
}
.philosophyMessage_body {
  font-size: 1.6rem;
  line-height: 2.5;
  letter-spacing: .12em;
  margin-bottom: 45px
}
@media only screen and (max-width:900px) {
  .philosophyMessage_body {
    font-size: 1.4rem;
    line-height: 1.92857
  }
}
.philosophyMessage_name {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: right;
  margin-top: 60px
}
@media only screen and (max-width:900px) {
  .philosophyMessage_name {
    font-size: 1.4rem;
    margin-top: -10px
  }
}
.philosophyMessage_image {
  margin-top: 110px
}
@media only screen and (max-width:900px) {
  .philosophyMessage_image {
    margin-top: 40px
  }
}
.philosophyVision {
  margin-top: 115px
}
@media only screen and (max-width:900px) {
  .philosophyVision {
    margin-top: 35px
  }
}
@media only screen and (min-width:900px) {
  .philosophyVision_section {
    display: flex;
    justify-content: space-between
  }
}
.philosophyVision_section:first-child {
  margin-bottom: 125px
}
@media only screen and (max-width:900px) {
  .philosophyVision_section:first-child {
    margin-bottom: 0
  }
}
@media only screen and (min-width:900px) {
  .philosophyVision_category {
    width: 22.72727%
  }
}
@media screen and (max-width:1100px) {
  .philosophyVision_category {
    width: 160px
  }
}
@media only screen and (max-width:900px) {
  .philosophyVision_category {
    margin-top: 50px
  }
}
.philosophyVision_category span {
  background-color: #e60033;
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: .02em;
  padding: 6px 25px;
  font-weight: 700;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .philosophyVision_category span {
    font-size: 1.6rem;
    padding: 2px 8px
  }
}
@media only screen and (min-width:900px) {
  .philosophyVision_content {
    width: 77.27273%
  }
}
@media screen and (max-width:1100px) {
  .philosophyVision_content {
    width: calc(100% - 160px)
  }
}
@media only screen and (max-width:900px) {
  .philosophyVision_content {
    width: 100%
  }
}

@media only screen and (min-width:900px) {
  .philosophyRinen_content {
    width: 100%
  }
}
@media screen and (max-width:1100px) {
  .philosophyRinen_content {
    width: calc(100% - 160px)
  }
}
@media only screen and (max-width:900px) {
  .philosophyRinen_content {
    width: 100%
  }
}

.philosophyVision_title {
  font-size: 2.9rem;
  letter-spacing: .12em;
  line-height: 2;
  font-weight: 700;
  margin: -25px 0 28px
}
@media only screen and (max-width:900px) {
  .philosophyVision_title {
    margin-top: 10px;
    font-size: 1.8rem;
    line-height: 1.77778
  }
}
.philosophyVision_title em {
  font-style: normal;
  font-size: 120%;
  font-family: Sen, sans-serif;
}
.philosophyVision_body {
  font-size: 1.6rem;
  line-height: 2.5;
  letter-spacing: .12em
}
@media only screen and (max-width:900px) {
  .philosophyVision_body {
    font-size: 1.4rem;
    line-height: 1.92857;
    letter-spacing: .06em
  }
}
.philosophyVision_image {
  margin-top: 55px;
  width: 95%
}
.recruit_section {
  margin-top: 125px
}
@media only screen and (max-width:900px) {
  .recruit_section {
    margin-top: 70px
  }
}
.recruit_section.has-borderTop {
  border-top: 4px solid #e60033;
  padding: 125px 0 0
}
@media only screen and (max-width:900px) {
  .recruit_section.has-borderTop {
    padding: 60px 0 0
  }
}
.recruit_headline {
  margin-bottom: 63px
}
.recruit_headline span {
  display: block
}
.recruit_headline span.is-sub {
  font-size: 1.4rem;
  letter-spacing: .02em;
  margin-bottom: 15px;
  font-family: Sen, sans-serif;
  ;
  color: #e60033
}
@media only screen and (max-width:900px) {
  .recruit_headline span.is-sub {
    margin-bottom: 10px
  }
}
.recruit_headline span.is-main {
  font-size: 2.8rem;
  color: #e60033;
  letter-spacing: .16em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .recruit_headline span.is-main {
    font-size: 2.6rem
  }
}
.recruit_title {
  font-size: 2.8rem;
  margin-bottom: 40px;
  letter-spacing: .16em
}
@media only screen and (max-width:900px) {
  .recruit_title {
    font-size: 1.4rem
  }
}
.recruit_banner {
  margin: 120px 0;
  text-align: center
}
.rinen_banner {
  margin: 80px 0;
}
@media only screen and (max-width:900px) {
  .recruit_banner {
    margin: 70px 0
  }
}
.recruit_banner p {
  font-size: 1.6rem;
  margin-bottom: 25px;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .recruit_banner p {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-bottom: 15px
  }
}
@media only screen and (min-width:768px) {
  .recruit_banner a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .recruit_banner a:hover {
    opacity: .6
  }
}
.recruit_button {
  margin: 130px 0
}
@media only screen and (max-width:900px) {
  .recruit_button {
    margin: 65px 0
  }
}
.recruitFlow_item {
  margin-bottom: 32px;
  border: 1px solid #e60033;
  background-color: #ecf0e7;
  display: flex;
  align-items: center;
  position: relative
}
.recruitFlow_item:before {
  content: "";
  width: 14px;
  height: 48px;
  position: absolute;
  z-index: 1;
  left: calc(50% - 4px);
  bottom: -25px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url("../img/global/flow_arrow.svg")
}
@media only screen and (max-width:900px) {
  .recruitFlow_item:before {
    width: 11px;
    height: 39px
  }
}
.recruitFlow_item:last-child:before {
  display: none
}
.recruitFlow_num {
  width: 9.93521%;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center
}
@media only screen and (max-width:900px) {
  .recruitFlow_num {
    width: 55px
  }
}
.recruitFlow_num span {
  display: block
}
.recruitFlow_num span.is-title {
  font-size: 1.2rem;
  margin-bottom: 5px;
  letter-spacing: .02em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .recruitFlow_num span.is-title {
    font-size: 1rem
  }
}
.recruitFlow_num span.is-num {
  font-size: 2rem;
  letter-spacing: .02em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .recruitFlow_num span.is-num {
    font-size: 1.6rem
  }
}
.recruitFlow_wrap {
  width: 90.06479%;
  border-left: 1px solid #e60033;
  margin: 10px 0;
  padding: 15px 0 15px 3.5%
}
@media only screen and (max-width:900px) {
  .recruitFlow_wrap {
    padding-left: 5%
  }
}
.recruitFlow_wrap.is-full {
  width: 100%
}
@media only screen and (min-width:900px) {
  .recruitFlow_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center
  }
}
@media only screen and (min-width:900px) {
  .recruitFlow_wrap > div:first-child {
    width: 65%
  }
  .recruitFlow_wrap > div:nth-child(2) {
    width: 35%
  }
}
.recruitFlow_body {
  font-size: 1.8rem;
  line-height: 1.75;
  width: 62.63499%;
  letter-spacing: .1em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .recruitFlow_body {
    font-size: 1.6rem;
    width: calc(100% - 55px)
  }
}
.recruitFlow_body.is-flex > a {
  text-decoration: underline
}
@media only screen and (min-width:768px) {
  .recruitFlow_body.is-flex > a {
    transition: .4s cubic-bezier(.165, .84, .44, 1) 0s
  }
  .recruitFlow_body.is-flex > a:hover {
    opacity: .6
  }
}
.recruitFlow_body.is-flex > i {
  margin: 0 2px
}
.recruitFlow_body.is-flex > i:before {
  content: "";
  font-size: 8px
}
.recruitFlow_note {
  font-size: 1.4rem;
  line-height: 1.75;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .recruitFlow_note {
    margin-top: 5px
  }
}
/*.recruitMenu {
  margin-top: 130px;
  border: 1px solid #e60033;
  padding: 30px 0
}*/
.recruitMenu {
  margin-top: 130px;
  border: 1px solid #e60033;	
  padding: 30px 0	
}
@media only screen and (min-width:900px) {
  .recruitMenu {
    display: flex;
    align-items: center
  }
}
@media only screen and (max-width:900px) {
  .recruitMenu {
    margin: 80px 0 60px;
    padding: 0 9.67742%
  }
}
.recruitMenu_item {
  padding: 30px 0
}
@media only screen and (min-width:900px) {
  .recruitMenu_item {
    /*width: 50%*/
	width: 100%  
  }
}
/*@media only screen and (min-width:900px) {
  .recruitMenu_item:first-child {
    border-right: 1px solid #e60033
  }
}*/
@media only screen and (max-width:900px) {
  .recruitMenu_item:first-child {
    border-bottom: 1px solid #e60033
  }
}
.recruitMenu_title {
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: .1em;
  margin-bottom: 10px
}
@media only screen and (max-width:900px) {
  .recruitMenu_title {
    font-size: 1.4rem
  }
}
.recruitOutline {
  padding: 130px 0;
  margin: 130px 0;
  border-top: 4px solid #e60033;
  border-bottom: 4px solid #e60033
}
@media only screen and (max-width:900px) {
  .recruitOutline {
    padding: 65px 0;
    margin: 65px 0
  }
}
.recruitOutline_title {
  font-weight: 700;
  font-size: 2.8rem;
  margin-bottom: 60px
}
@media only screen and (max-width:900px) {
  .recruitOutline_title {
    font-size: 2.6rem;
    letter-spacing: .16em
  }
}
.recruitOutline_list {
  margin: 65px 0
}
@media only screen and (min-width:900px) {
  .recruitOutline_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }
}
.recruitOutline_list dd, .recruitOutline_list dt {
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 27px 0;
  border-top: 1px solid #cfcfca;
  letter-spacing: .1em
}
@media only screen and (min-width:900px) {
  .recruitOutline_list dd:last-child, .recruitOutline_list dd:nth-last-child(2), .recruitOutline_list dt:last-child, .recruitOutline_list dt:nth-last-child(2) {
    border-bottom: 1px solid #cfcfca
  }
}
@media only screen and (max-width:900px) {
  .recruitOutline_list dd, .recruitOutline_list dt {
    font-size: 1.4rem;
    line-height: 1.75
  }
  .recruitOutline_list dd:last-child, .recruitOutline_list dt:last-child {
    border-bottom: 1px solid #cfcfca
  }
}
.recruitOutline_list dt {
  font-weight: 700
}
@media only screen and (min-width:900px) {
  .recruitOutline_list dt {
    width: 15.65875%
  }
}
@media only screen and (max-width:900px) {
  .recruitOutline_list dt {
    padding-bottom: 0
  }
}
@media only screen and (min-width:900px) {
  .recruitOutline_list dd {
    width: 80.88553%
  }
}
@media only screen and (max-width:900px) {
  .recruitOutline_list dd {
    border-top: none;
    padding-top: 20px
  }
}
.recruitRefine_list {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin-left: -15px
}
@media screen and (max-width:1024px) {
  .recruitRefine_list {
    width: 91.8vw;
    margin-left: -1vw
  }
}
@media only screen and (max-width:900px) {
  .recruitRefine_list {
    width: 100%;
    margin-left: 0
  }
}
.recruit_title + .recruitRefine_list {
  margin-top: 20px
}
.recruitRefineMenu {
  border: 1px solid #e60033;
  padding: 32px;
  margin-bottom: 65px
}
@media only screen and (max-width:900px) {
  .recruitRefineMenu {
    padding: 32px 32px 12px
  }
}
.recruitRefineMenu_title {
  font-size: 2rem;
  margin-bottom: 18px;
  letter-spacing: .16em;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .recruitRefineMenu_title {
    font-size: 1.8rem;
    margin-bottom: 25px
  }
}
.recruitRefineMenu_list {
  display: flex;
  flex-wrap: wrap
}
.recruitRefineMenu_list a {
  display: flex;
  align-items: center;
  line-height: 1;
  margin-right: 20px;
  cursor: pointer;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .recruitRefineMenu_list a {
    margin-bottom: 20px
  }
}
.recruitRefineMenu_list a span {
  font-size: 1.4rem
}
@media only screen and (max-width:900px) {
  .recruitRefineMenu_list a span {
    font-size: 1.6rem
  }
}
.recruitRefineMenu_list a:before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  border: 1px solid #99bcb3;
  margin-right: 8px
}
@media only screen and (max-width:900px) {
  .recruitRefineMenu_list a:before {
    width: 20px;
    height: 20px
  }
}
.recruitRefineMenu_list a.is-current:before {
  background-color: #e60033;
  border-color: #e60033
}
.recruitRefineCard {
  border: 1px solid #e60033;
  padding: 25px 30px 20px
}
@media only screen and (min-width:900px) {
  .recruitRefineCard {
    width: 31%;
    margin: 0 11px 35px
  }
}
@media screen and (max-width:1024px) {
  .recruitRefineCard {
    width: 28.6vw;
    margin-left: 1vw;
    margin-right: 1vw
  }
}
@media only screen and (max-width:900px) {
  .recruitRefineCard {
    width: 100%;
    margin: 0 0 30px;
    padding: 25px 9.6463%
  }
}
.recruitRefineCard.is-hidden {
  display: none
}
.recruitRefineCard_title {
  font-size: 1.6rem;
  margin-bottom: 17px;
  letter-spacing: .1em;
  line-height: 1.75;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .recruitRefineCard_title {
    font-size: 1.6rem;
    letter-spacing: .16em;
    margin-bottom: 12px
  }
}
.recruitRefineCard_category {
  display: flex;
  margin-bottom: 25px
}
.recruitRefineCard_category span {
  font-size: 1.2rem;
  display: block;
  border: 1px solid #e60033;
  padding: 3px;
  margin-right: 10px;
  letter-spacing: .1em
}
.recruitRefineCard_category span.is-red {
  border-color: #c00;
  color: #c00
}
.recruitRefineCard_body {
  font-size: 1.4rem;
  line-height: 1.75;
  margin-bottom: 60px;
  letter-spacing: .1em
}
@media only screen and (max-width:900px) {
  .recruitRefineCard_body {
    letter-spacing: .16em;
    margin-bottom: 50px
  }
}
.recruitRefineCard_button .buttonFill {
  margin-bottom: 10px
}
@media only screen and (max-width:900px) {
  .recruitRefineCard_button .buttonFill {
    margin-bottom: 5px
  }
}
.storyArticle {
  position: relative
}
@media only screen and (min-width:900px) {
  .storyArticle {
    margin-top: 120px
  }
}
.storySlideshow + .storyArticle {
  margin-top: 170px
}
@media only screen and (max-width:900px) {
  .storySlideshow + .storyArticle {
    margin-top: 60px
  }
}
.storyArticle_wrap {
  max-width: 832px;
  margin: 0 auto;
  position: relative
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .storyArticle_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.storyArticle_headline {
  margin-bottom: 80px
}
@media only screen and (max-width:900px) {
  .storyArticle_headline {
    margin-bottom: 30px
  }
}
.storyArticle_headline > p {
  font-size: 1.88rem;
  letter-spacing: .08em;
  margin-bottom: 10px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .storyArticle_headline > p {
    font-size: 1rem;
    margin-bottom: 5px
  }
}
.storyArticle_headline > div {
  background-color: #e60033;
  padding: 27px 5%
}
@media only screen and (max-width:900px) {
  .storyArticle_headline > div {
    padding: 11px 4%
  }
}
.storyArticle_headline > div > h2 > span {
  display: block;
  color: #fff
}
.storyArticle_headline > div > h2 > span.is-main {
  font-size: 3.3rem;
  letter-spacing: .12em;
  margin-bottom: 17px
}
@media only screen and (max-width:900px) {
  .storyArticle_headline > div > h2 > span.is-main {
    font-size: 1.7rem;
    margin-bottom: 5px
  }
}
.storyArticle_headline > div > h2 > span.is-sub {
  font-size: 1.5rem;
  letter-spacing: .18em;
  line-height: 1.6
}
@media only screen and (max-width:900px) {
  .storyArticle_headline > div > h2 > span.is-sub {
    font-size: 1.2rem
  }
}
.storyArticle_content {
  position: relative;
  z-index: 6
}
.storyArticle_title {
  font-size: 3rem;
  letter-spacing: .12em;
  margin-bottom: 70px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .storyArticle_title {
    font-size: 1.8rem;
    line-height: 1.88889;
    margin-bottom: 25px;
    letter-spacing: .16em
  }
}
.storyArticle_body > p {
  font-size: 1.6rem;
  letter-spacing: .12em;
  line-height: 2.625;
  text-align: justify;
  text-justify: inter-ideograph
}
@media only screen and (max-width:900px) {
  .storyArticle_body > p {
    font-size: 1.4rem;
    line-height: 1.92857
  }
}
.storyArticle_body > p span {
  font-size: 1.2rem
}
@media only screen and (max-width:900px) {
  .storyArticle_body > p span {
    font-size: 1rem
  }
}
.storyArticle_body > p sup {
  font-size: 60%
}
.storyArticle_movie {
  margin-bottom: 90px
}
@media only screen and (max-width:900px) {
  .storyArticle_movie {
    margin-bottom: 35px
  }
}
.storyArticle_movie video {
  width: 100%
}
@media only screen and (max-width:900px) {
  .storyArticle_movie video {
    height: 47vw
  }
}
.page--specialArchive .storyMenu {
  margin: 0 auto
}
@media only screen and (min-width:900px) {
  .page--specialArchive .storyMenu {
    max-width: 1366px;
    padding: 0 60px
  }
}
.page--specialSingle .storyMenu {
  position: relative;
  z-index: 5
}
@media only screen and (max-width:900px) {
  .storyMenu {
    width: 82.66667%;
    margin: 0 auto;
    padding: 0
  }
}
.storyMenu_section {
  position: relative;
  display: block
}
.storyMenu_section:before {
  content: ""
}
@media only screen and (max-width:900px) {
  .storyMenu_section {
    height: 90.7vw
  }
}
.storyMenu_section:before {
  font-size: 72px;
  position: absolute;
  z-index: 1;
  color: #fff
}
@media only screen and (max-width:900px) {
  .storyMenu_section:before {
    display: none
  }
}
.page--specialArchive .storyMenu_section {
  margin-bottom: 56px;
  height: 560px
}
@media only screen and (max-width:900px) {
  .page--specialArchive .storyMenu_section {
    margin-bottom: 20px;
    height: 90.7vw
  }
}
.page--specialArchive .storyMenu_section:before {
  right: -35px;
  top: calc(50% - 45px)
}
@media only screen and (min-width:900px) {
  .page--specialSingle .storyMenu_section {
    height: 760px
  }
}
.page--specialSingle .storyMenu_section:before {
  right: 2%;
  top: 31.6%
}
.storyMenu_content {
  position: absolute;
  z-index: 1;
  color: #fff
}
@media only screen and (min-width:900px) {
  .storyMenu_content {
    width: 230px;
    top: 12.3%
  }
}
@media only screen and (max-width:900px) {
  .storyMenu_content {
    bottom: 3%;
    left: 5%;
    right: auto
  }
}
.page--specialArchive .storyMenu_content {
  right: 6.1%
}
.page--specialSingle .storyMenu_content {
  right: 10.2%
}
@media only screen and (min-width:900px) {
  .storyMenu_head {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 13px 6px;
    width: 120px;
    margin: 0 auto 37px
  }
}
.storyMenu_head p {
  line-height: 1;
  white-space: nowrap
}
.storyMenu_head p:first-child {
  font-size: 1.1rem;
  letter-spacing: .11em;
  margin-bottom: 5px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .storyMenu_head p:first-child {
    display: none
  }
}
.storyMenu_head p:nth-child(2) {
  font-size: 2.1rem;
  letter-spacing: .04em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .storyMenu_head p:nth-child(2) {
    font-size: 1.2rem;
    margin-bottom: 5px
  }
}
@media only screen and (min-width:900px) {
  .storyMenu_title {
    display: flex;
    justify-content: center
  }
}
@media only screen and (max-width:900px) {
  .storyMenu_title {
    margin-bottom: 20px
  }
}
.storyMenu_title span {
  font-weight: 700
}
@media only screen and (min-width:900px) {
  .storyMenu_title span {
    font-size: 3.3rem;
    line-height: 1.81818;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block
  }
}
@media only screen and (max-width:900px) {
  .storyMenu_title span {
    font-size: 1.8rem;
    line-height: 1.55556;
    letter-spacing: .18em
  }
}
.storyMenu_image {
  z-index: 0;
  overflow: hidden
}
.storyMenu_image, .storyMenu_image > div {
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%
}
.storyMenu_image > div {
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media only screen and (min-width:900px) {
  .storyMenu .storyMenu_image > div {
    transition: 2.5s cubic-bezier(.19, 1, .22, 1)
  }
  .storyMenu_section:hover:before {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    animation-timing-function: cubic-bezier(.785, .135, .15, .86);
    -webkit-animation-name: ArrowMoveRight;
    animation-name: ArrowMoveRight
  }
  .storyMenu_section:hover .storyMenu_image > div {
    -webkit-transform: scale(1.04);
    transform: scale(1.04)
  }
}
.storyEpilogue {
  margin-bottom: 180px;
  position: relative;
  z-index: 6
}
@media only screen and (max-width:900px) {
  .storyEpilogue {
    margin-bottom: 60px
  }
}
.storyEpilogue_wrap {
  max-width: 836px;
  margin: 0 auto;
  padding-top: 140px
}
@media only screen and (max-width:900px) {
  .storyEpilogue_wrap {
    padding-top: 60px
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .storyEpilogue_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.storyEpilogue_title {
  font-size: 2.2rem;
  letter-spacing: .08em;
  margin-bottom: 30px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .storyEpilogue_title {
    font-size: 1.7rem;
    margin-bottom: 25px
  }
}
.storyEpilogue_body {
  font-size: 1.6rem;
  line-height: 2.625;
  letter-spacing: .07em
}
@media only screen and (max-width:900px) {
  .storyEpilogue_body {
    font-size: 1.4rem;
    line-height: 1.92857
  }
}
.storyEpilogue_image {
  overflow: hidden
}
@media only screen and (min-width:900px) {
  .storyEpilogue_image {
    margin: 125px auto 0;
    max-width: 1108px;
    padding: 0 40px
  }
}
@media only screen and (max-width:900px) {
  .storyEpilogue_image {
    margin-top: 30px
  }
}
.storyEpilogue_image > div > img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05)
}
.storyHero {
  position: relative;
  height: 100vh;
  z-index: 0;
  display: grid;
  place-items: center
}
.storyHero:before {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: 1s cubic-bezier(.165, .84, .44, 1) 1.4s
}
.storyHero_content {
  position: absolute;
  z-index: 1;
  width: 230px;
  color: #fff
}
.storyHero_head {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 13px 6px;
  width: 120px;
  margin: 0 auto 37px
}
@media only screen and (max-width:900px) {
  .storyHero_head {
    padding: 10px 6px 8px;
    margin-bottom: 25px
  }
}
.storyHero_head p {
  line-height: 1;
  white-space: nowrap
}
.storyHero_head p:first-child {
  font-size: 1.1rem;
  letter-spacing: .11em;
  margin-bottom: 5px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .storyHero_head p:first-child {
    font-size: 1rem
  }
}
.storyHero_head p:nth-child(2) {
  font-size: 2.1rem;
  letter-spacing: .04em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .storyHero_head p:nth-child(2) {
    font-size: 2rem
  }
}
.storyHero_title {
  display: flex;
  justify-content: center
}
.storyHero_title span {
  font-size: 3.3rem;
  line-height: 1.81818;
  letter-spacing: .2em;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block
}
@media only screen and (max-width:900px) {
  .storyHero_title span {
    font-size: 2.6rem
  }
}
.storyHeroMp4 {
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  height: 100%;
  width: 100%;
  z-index: 1;
  overflow: hidden
}
.storyHeroMp4_content {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.storyHeroMp4_content video {
  display: block;
  width: 120%
}
@media only screen and (min-width:900px) {
  .storyHeroMp4_content video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
  }
}
@media only screen and (max-width:900px) {
  .storyHeroMp4_content video {
    left: 0;
    min-height: 100%;
    min-height: 100vh;
    min-width: 120%;
    min-width: 120vw;
    position: absolute;
    top: -2px;
    z-index: 1
  }
}
@media only screen and (min-width:900px) {
  .storyProfile {
    display: flex;
    margin-top: 155px;
    min-height: 480px
  }
}
@media only screen and (max-width:900px) {
  .storyProfile {
    margin-top: 40px
  }
}
.storyProfile_image {
  position: relative
}
@media only screen and (min-width:900px) {
  .storyProfile_image {
    width: 50%
  }
}
@media only screen and (max-width:900px) {
  .storyProfile_image {
    height: 63vw;
    width: 94.66667%
  }
}
.storyProfile_image > div {
  position: absolute;
  left: 0;
  top: -10%;
  width: 100%;
  height: 110%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
.storyProfile_content {
  position: relative;
  z-index: 7
}
@media only screen and (min-width:900px) {
  .storyProfile_content {
    width: 30.3%;
    padding-left: 6.5%
  }
}
@media only screen and (max-width:900px) {
  .storyProfile_content {
    margin-top: 20px;
    position: relative
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .storyProfile_content {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
@media only screen and (min-width:900px) {
  .storyProfile_headline {
    margin-top: 5px
  }
}
.storyProfile_headline span {
  display: block
}
.storyProfile_headline span.is-jp {
  font-size: 3.2rem;
  letter-spacing: .12em;
  margin-bottom: 15px;
  font-weight: 700
}
@media only screen and (max-width:900px) {
  .storyProfile_headline span.is-jp {
    font-size: 1.9rem;
    margin-bottom: 10px
  }
}
.storyProfile_headline span.is-en {
  font-size: 1.7rem;
  letter-spacing: .08em;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .storyProfile_headline span.is-en {
    font-size: 1.2rem
  }
}
.storyProfile_information {
  border-top: 1px solid #e60033;
  border-bottom: 1px solid #e60033;
  padding: 21px 0;
  margin-top: 30px
}
@media only screen and (max-width:900px) {
  .storyProfile_information {
    margin-top: 20px;
    padding: 15px 0
  }
}
.storyProfile_information > p {
  font-size: 1.5rem;
  line-height: 2.13333;
  font-weight: 700;
  letter-spacing: .08em
}
@media only screen and (max-width:900px) {
  .storyProfile_information > p {
    font-size: 1.2rem;
    line-height: 1.58333
  }
}
.storyProfile_body {
  margin-top: 20px
}
.storyProfile_body > p {
  font-size: 1.5rem;
  line-height: 2.53333;
  letter-spacing: .08em;
  text-align: justify;
  text-justify: inter-ideograph
}
@media only screen and (max-width:900px) {
  .storyProfile_body > p {
    font-size: 1.2rem;
    line-height: 2.08333
  }
}
.storyProfileFamily {
  display: flex
}
@media only screen and (min-width:900px) {
  .storyProfileFamily {
    margin-top: 60px
  }
}
@media only screen and (max-width:900px) {
  .storyProfileFamily {
    position: absolute;
    right: -20px;
    top: -72px
  }
}
.storyProfileFamily_item {
  margin-right: 40px;
  text-align: center;
  width: 80px
}
@media only screen and (max-width:900px) {
  .storyProfileFamily_item {
    margin-right: 20px
  }
}
.storyProfileFamily_image {
  margin-bottom: 15px;
  position: relative;
  width: 100%;
  height: 80px
}
@media only screen and (max-width:900px) {
  .storyProfileFamily_image {
    margin-bottom: 10px
  }
}
.storyProfileFamily_image:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  border: 2px solid #e60033
}
.storyProfileFamily_image img {
  display: block
}
.storyProfileFamily_name {
  font-size: 1.5rem;
  letter-spacing: .12em;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap
}
@media only screen and (max-width:900px) {
  .storyProfileFamily_name {
    font-size: 1.2rem
  }
}
.srotyPrologue {
  position: relative;
  z-index: 6;
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: auto 100%
}
@media only screen and (min-width:900px) {
  .srotyPrologue {
    margin-top: -50px
  }
}
@media only screen and (max-width:900px) {
  .srotyPrologue {
    background: none !important
  }
}
.srotyPrologue_wrap {
  max-width: 836px;
  margin: 0 auto;
  padding-top: 160px;
  position: relative;
  z-index: 1
}
@media only screen and (max-width:900px) {
  .srotyPrologue_wrap {
    padding-top: 40px
  }
}
@media only screen and (max-width:900px) and (max-width:900px) {
  .srotyPrologue_wrap {
    width: 83.2%;
    margin-left: auto;
    margin-right: auto
  }
}
.srotyPrologue_content {
  max-width: 560px
}
.srotyPrologue_title {
  font-size: 2.2rem;
  letter-spacing: .08em;
  margin-bottom: 30px;
  font-family: Sen, sans-serif;
}
@media only screen and (max-width:900px) {
  .srotyPrologue_title {
    font-size: 1.7rem;
    margin-bottom: 20px
  }
}
.srotyPrologue_body {
  font-size: 1.6rem;
  line-height: 2.625;
  letter-spacing: .07em;
  text-align: justify;
  text-justify: inter-ideograph
}
@media only screen and (max-width:900px) {
  .srotyPrologue_body {
    font-size: 1.4rem;
    line-height: 1.92857
  }
}
@media only screen and (max-width:900px) {
  .srotyPrologue_map {
    margin-top: -70px
  }
}
.storySlideshow {
  position: relative;
  margin-top: 160px
}
@media only screen and (max-width:900px) {
  .storySlideshow {
    margin-top: 40px
  }
}
.storySlideshow_content {
  margin: 0 auto;
  width: 100%;
  height: 580px;
  text-align: left;
  position: relative;
  overflow: hidden;
  visibility: hidden
}
@media only screen and (min-width:900px) and (max-width:1025px) {
  .storySlideshow_content {
    height: 406px
  }
}
@media only screen and (max-width:900px) {
  .storySlideshow_content {
    height: 232px
  }
}
.storySlideshow_content ul {
  height: 580px;
  float: left;
  overflow: hidden
}
@media only screen and (min-width:900px) and (max-width:1025px) {
  .storySlideshow_content ul {
    height: 406px
  }
}
@media only screen and (max-width:900px) {
  .storySlideshow_content ul {
    height: 232px
  }
}
.storySlideshow_content ul li {
  width: 1000px;
  height: 580px;
  float: left;
  overflow: hidden
}
@media only screen and (min-width:900px) and (max-width:1025px) {
  .storySlideshow_content ul li {
    width: 700px;
    height: 406px
  }
}
@media only screen and (max-width:900px) {
  .storySlideshow_content ul li {
    width: 400px;
    height: 232px
  }
}
.storySlideshow_wrap {
  top: 0;
  left: 0;
  height: 580px;
  overflow: hidden;
  position: absolute
}
.storySlideshow_wrap:after {
  content: "";
  display: block;
  clear: both
}

/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */

form#mail_form * {
	margin: 0;
	padding: 0;
	box-sizing: content-box;
}

form#mail_form {
	/*width: 1000px;*/
	width: 100%;
	margin: 50px auto;
	background: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 7px;
	/*box-shadow: 0 0 7px rgba( 0, 0, 0, 0.2 );*/
	line-height: 1.8;
}

form#mail_form dl {
	width: 90%;
	margin: 0 auto;
	border-bottom: 1px solid #cccccc;
}

form#mail_form dl:after,
form#mail_form dl dt:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

form#mail_form dl dt {
	width: 30%;
	float: left;
	padding: 35px 0 25px;
	text-align: center;
	font-size: 15px;
}

form#mail_form dl dd {
	width: 65%;
	float: right;
	padding: 30px 0 25px 5%;
}

form#mail_form dl dt i {
	float: left;
	position: relative;
	top: -2px;
}




/* -- span.required, span.optional -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	display: inline-block;
	font-size: 85%;
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 3px;
}

form#mail_form dl dt span.required {
	background: #d9534f;
	border: 1px solid #d43f3a;
}

form#mail_form dl dt span.optional {
	background: #337ab7;
	border: 1px solid #2e6da4;
}




/* -- error message -------------------------------------------------------------------------------- */

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
	display: block;
	color: #ff0000;
	margin-top: 5px;
}




/* -- loading -------------------------------------------------------------------------------- */

div.loading-layer {
	width: 100vw;
	height: 100vh;
	background: rgba( 0, 0, 0, 0.7 );
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 10000;
}

span.loading {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border-top: 5px solid rgba( 255, 255, 255, 0.2 );
	border-right: 5px solid rgba( 255, 255, 255, 0.2 );
	border-bottom: 5px solid rgba( 255, 255, 255, 0.2 );
	border-left: 5px solid #ffffff;
	-webkit-transform: translateZ( 0 );
	-ms-transform: translateZ( 0 );
	transform: translateZ( 0 );
	-webkit-animation: load-circle 1.0s linear infinite;
	animation: load-circle 1.0s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
}

@-webkit-keyframes load-circle {
	0% {
		-webkit-transform: rotate( 0deg );
		transform: rotate( 0deg );
	}
	100% {
		-webkit-transform: rotate( 360deg );
		transform: rotate( 360deg );
	}
}

@keyframes load-circle {
	0% {
		-webkit-transform: rotate( 0deg );
		transform: rotate( 0deg );
	}
	100% {
		-webkit-transform: rotate( 360deg );
		transform: rotate( 360deg );
	}
}




/* -- input, select, textarea -------------------------------------------------------------------------------- */

form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"] {
	width: calc( 100% - 4% - 2px );
	padding: 7px 2%;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
	-webkit-appearance: none;
	font-size: 16px;
	font-family: inherit;
	line-height: normal;
}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
	box-shadow: 0px 0px 5px #55ccff;
	border: 1px solid #55ccff;
	background: #ffffff;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
	margin: 0 10px 0 0;
}

form#mail_form select {
	padding: 7px 2%;
	border: 1px solid #cccccc;
	font-size: 16px;
	font-family: inherit;
	line-height: normal;
}

form#mail_form textarea {
	display: block;
	width: calc( 100% - 4% - 2px );
	height: 200px;
	padding: 7px 2%;
	resize: vertical;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
	-webkit-appearance: none;
	font-size: 16px;
	font-family: inherit;
	line-height: normal;
}




/* -- ul, li -------------------------------------------------------------------------------- */

form#mail_form ul {
	list-style-type: none;
}

form#mail_form ul li label {
	display: block;
	margin-top: 10px;
	padding: 7px 2%;
	border-radius: 3px;
	background: #f0f0f0;
}

form#mail_form ul li:first-child label {
	margin-top: 0px;
}

form#mail_form ul li label:hover {
	cursor: pointer;
	background: #e0e0e0;
}




/* -- input design -------------------------------------------------------------------------------- */

form#mail_form input[name="company"] {
	width: 70%;
}

form#mail_form input[name="name_1"],
form#mail_form input[name="name_2"],
form#mail_form input[name="read_1"],
form#mail_form input[name="read_2"],
form#mail_form input[name="postal"],
form#mail_form input[name="phone"],
form#mail_form input[name="schedule"] {
	width: 30%;
}

form#mail_form input[name="mail_address"],
form#mail_form input[name="mail_address_confirm"] {
	width: 80%;
}

form#mail_form input[name="postal"] + a {
	display: inline-block;
	padding: 7px 20px;
	border: 1px solid #e60033;
	border-radius: 3px;
	background: #e60033;
	font-size: 16px;
	line-height: normal;
	color: #ffffff;
	text-decoration: none;
}

form#mail_form input[name="postal"] + a:hover {
	cursor: pointer;
	background: #e60033;
	border: 1px solid #ccc;
}




/* -- button -------------------------------------------------------------------------------- */

form#mail_form p#form_submit {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
}

form#mail_form input[type="button"] {
	/*padding: 7px 20px;*/
	padding: 7px 80px;
	border: 1px solid #e60033;
	border-radius: 3px;
	background: #e60033;
	font-size: 16px;
	color: #ffffff;
	font-family: inherit;
	-webkit-appearance: none;
}

form#mail_form input[type="button"]:hover {
	cursor: pointer;
	background: #e60033;
	border: 1px solid #ccc;
}

form#mail_form input[type="button"] {
	margin-left: 35%;
}








/* -- responsive ----------------------------------------------------------------------------------------------------------------------- */

/* 1000pixel start */
@media screen and ( max-width: 1000px ) {


/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */

form#mail_form {
	width: 100%;
	font-size: 100%;
}

form#mail_form dl dt {
	width: auto;
	float: none;
	padding: 25px 0 10px;
	text-align: left;
	font-weight: bold;
	font-size: 11px;
}

form#mail_form dl dd {
	width: auto;
	float: none;
	padding: 0px 0 20px 0px;
}

form#mail_form dl dt i {
	float: none;
	position: static;
	font-weight: normal;
}




/* -- span.required, span.optional -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	margin: 0 15px 0 0;
}




/* -- input design -------------------------------------------------------------------------------- */

form#mail_form input[name="phone"],
form#mail_form input[name="schedule"] {
	width: 60%;
}




/* -- button -------------------------------------------------------------------------------- */

form#mail_form p#form_submit {
	padding: 25px 0;
}

form#mail_form input[type="button"] {
	margin-left: 0;
}


}
/* 1000pixel end */

/*youtube*/
.item-movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.item-movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
