@charset "UTF-8";
img {
  line-height: 1;
  vertical-align: top;
  border: 0;
}

a {
  outline: none;
}

a, button {
  -webkit-tap-highlight-color: transparent;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

body {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

input, textarea, select, button {
  outline: none;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
}

main {
  display: block;
}

h1, h2, h3 {
  font-weight: inherit;
}

a {
  transition: opacity 300ms ease;
}

a:hover {
  opacity: 0.6;
}

html, body {
  min-width: 1200px;
}

body {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #1a1a1a;
}

html.en body {
  font-family: 'Source Sans Pro', sans-serif;
}

#pagetop {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 2px;
}

main {
  position: relative;
  z-index: 1;
}

html.en main {
  transition: opacity 1000ms ease;
  opacity: 0;
}

html.en.translate-complete main {
  opacity: 1;
}

.fadein-container,
.manual-fadein-container {
  transition: opacity 600ms ease;
  opacity: 0;
}
.fadein-container.show,
.manual-fadein-container.show {
  opacity: 1;
}

#header {
  height: 70px;
}
#header.top {
  height: 0;
}
#header.top .floater {
  transition: background-color 300ms ease;
  background: transparent;
}
#header.top.white .floater {
  background: white;
}
#header .floater {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 8;
  width: 100%;
  height: 70px;
  background: white;
}
#header #logo {
  margin: 0;
  padding: 10px 0 0 22px;
  font-size: inherit;
}
#header #logo a {
  transition: opacity 300ms ease;
  display: inline-block;
  vertical-align: top;
  padding: 10px;
}
#header #logo a:hover {
  opacity: 0.6;
}
#header .language-link {
  position: absolute;
  right: 160px;
  top: 0;
  width: 100px;
  padding: 21px 0 0;
  text-align: center;
}
#header .language-link p {
  display: inline-block;
  vertical-align: top;
  margin: 0;
}
#header .language-link p + p:before {
  content: '';
  position: relative;
  top: 6px;
  display: inline-block;
  vertical-align: middle;
  width: 1px;
  height: 16px;
  background-color: #1a1a1a;
}
#header .language-link p a {
  position: relative;
  display: inline-block;
  vertical-align: top;
}
#header .language-link p a img {
  padding: 10px;
}
#header .language-link .active a:after {
  content: '';
  position: absolute;
  left: 10px;
  bottom: 8px;
  width: 18px;
  height: 1px;
  background-color: #1a1a1a;
}
#header .contact-link {
  position: absolute;
  right: 90px;
  top: 0;
  margin: 0;
}
#header .contact-link a {
  display: inline-block;
  vertical-align: top;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#toggle-menu {
  position: absolute;
  right: 20px;
  top: 0;
  z-index: 3;
  width: 70px;
  height: 70px;
  padding: 6px 0 0 0;
}
#toggle-menu.hamburger.is-active:hover, #toggle-menu.hamburger:hover {
  opacity: 0.6;
}
#toggle-menu .hamburger-inner,
#toggle-menu .hamburger-inner:after,
#toggle-menu .hamburger-inner:before {
  width: 24px;
  height: 2px;
  background-color: #1a1a1a;
}
#toggle-menu .hamburger-box {
  width: 24px;
  vertical-align: top;
}

#navigation {
  transition: transform 600ms ease;
  transform: translateX(470px);
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 470px;
  background-color: white;
}
#navigation.is-active {
  transform: translateX(0px);
}
#navigation #nav-logo {
  margin: 0;
  padding: 20px 0 21px 26px;
}
#navigation section {
  padding-bottom: 7px;
}
#navigation .main {
  margin: 0 0 0 70px;
  font-size: 18px;
  line-height: 1;
}
#navigation .main a {
  padding: 12px;
}
#navigation h1.main {
  padding-bottom: 2px;
}
#navigation .sub {
  margin: 0 0 0 114px;
  font-size: 15px;
}
#navigation .sub a {
  padding: 10px;
}
#navigation a {
  position: relative;
  display: inline-block;
  vertical-align: top;
  color: inherit;
  text-decoration: none;
}
#navigation .main a:after,
#navigation .sub a:after {
  transition: transform 300ms ease;
  transform: scaleX(0);
  transform-origin: 0% 50%;
  content: '';
  display: block;
  position: absolute;
  left: 6px;
  bottom: 6px;
  right: 6px;
  height: 1px;
  background: #1a1a1a;
}
#navigation .main a:hover:after,
#navigation .sub a:hover:after {
  transform: scaleX(1);
}
#navigation .main a:hover,
#navigation .sub a:hover {
  opacity: 1;
}
#navigation .sns {
  display: flex;
  margin: 35px 0 0 78px;
}
#navigation .sns p {
  margin: 0 20px 0 0;
}
#navigation + .overlay {
  transition: opacity 600ms ease, visibility 600ms;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
}
#navigation.is-active + .overlay {
  opacity: 1;
  visibility: visible;
}

#footer {
  background-color: white;
}
#footer .limit {
  width: 1200px;
  margin: 0 auto;
  padding: 65px 0 44px;
}
#footer #footer-logo {
  margin: 0 12px 0 60px;
}
#footer #footer-logo a {
  display: inline-block;
  vertical-align: top;
}
#footer .sns {
  display: flex;
  margin: 44px 0 75px 60px;
}
#footer .sns p {
  margin: 0 20px 0 0;
}
#footer #footer-text-1 {
  margin: 0 0 0 60px;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #808080;
}
#footer #footer-nav {
  display: flex;
  margin: 0 0 0 480px;
  height: 0;
}
#footer #footer-nav .main {
  margin: 0;
  padding: 12px 28px 0 0;
  font-size: 15px;
  letter-spacing: 0.05em;
}
#footer #footer-nav .main a {
  display: inline-block;
  padding: 10px;
  color: inherit;
}
#footer #footer-nav h1.main {
  margin-bottom: 12px;
}
#footer #footer-nav .sub {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.05em;
}
#footer #footer-nav .sub a {
  display: inline-block;
  padding: 10px;
  color: #808080;
}
#footer #footer-nav .sub a:after {
  background-color: #808080;
}
#footer #footer-nav a {
  position: relative;
  text-decoration: none;
}
#footer #footer-nav a:after {
  transition: transform 300ms ease;
  transform: scaleX(0);
  transform-origin: 0% 50%;
  content: '';
  display: block;
  position: absolute;
  left: 6px;
  bottom: 6px;
  right: 6px;
  height: 1px;
  background: #1a1a1a;
}
#footer #footer-nav a:hover:after {
  transform: scaleX(1);
}
#footer #footer-nav a:hover {
  opacity: 1;
}
#footer #copyright {
  margin: 111px 0 0 60px;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 12px;
}
#footer .gotopagetop {
  transition: opacity 600ms ease, visibility 600ms;
  margin: 0;
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 7;
  opacity: 0;
  visibility: hidden;
}
#footer .gotopagetop.is-active {
  opacity: 1;
  visibility: visible;
}

#contact {
  transition: opacity 300ms ease, visibility 300ms;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
}
#contact.is-active {
  opacity: 1;
  visibility: visible;
}
#contact .overlay {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
}
#contact .contents {
  position: relative;
  overflow-y: auto;
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  width: 900px;
  max-height: 100vh;
  margin: auto;
  background-color: white;
}
#contact h1, #contact p {
  cursor: default;
}
#contact h1 {
  margin: 0 0 0 -10px;
  padding-top: 35px;
  text-align: center;
  font-size: 32px;
}
#contact h1 img {
  transform: scale(1.2);
  position: relative;
  left: -6px;
  top: -4px;
  vertical-align: middle;
}
#contact h1 + p {
  margin: 21px 0 46px;
  text-align: center;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#contact .left, #contact .right {
  float: left;
}
#contact .left {
  margin-left: 53px;
}
#contact .right {
  margin-left: 39px;
}
#contact label {
  display: block;
}
#contact label span {
  display: block;
  margin-bottom: 10px;
  font-size: 15px;
  letter-spacing: 0.05em;
}
#contact label.required span:after {
  content: '*';
  position: relative;
  top: 0.25em;
  color: #E4005A;
}
#contact label + label {
  margin-top: 17px;
}
#contact input {
  box-sizing: border-box;
  width: 348px;
  height: 40px;
  border: 1px solid #C8C8C8;
  padding-left: 8px;
  font-size: inherit;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
#contact textarea {
  box-sizing: border-box;
  width: 400px;
  height: 327px;
  border: 1px solid #C8C8C8;
  padding-left: 16px;
  padding-top: 14px;
  font-size: inherit;
  letter-spacing: 0.05em;
  line-height: 1.71;
  resize: vertical;
}
#contact .g-recaptcha-message {
  transition: opacity 300ms ease, visibility 300ms ease;
  margin: 15px 0 9px 20px;
  color: #e4005a;
  font-size: 15px;
  letter-spacing: 0.05em;
  visibility: hidden;
  opacity: 0;
}
#contact .g-recaptcha-message.is-active {
  visibility: visible;
  opacity: 1;
}
#contact .g-recaptcha {
  margin-left: 20px;
}
#contact .submit-container {
  clear: both;
  padding-top: 40px;
  padding-bottom: 70px;
  text-align: center;
}
#contact .submit {
  transition: opacity 300ms ease;
  display: inline-block;
  padding: 8px 64px 12px;
  border: 0;
  font-size: 15px;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  color: white;
  background-color: #808080;
  cursor: pointer;
}
#contact .submit span {
  letter-spacing: 0.2em;
}
#contact .submit:hover {
  opacity: 0.6;
}
#contact #contact-close {
  position: absolute;
  right: 28px;
  top: 12px;
}
#contact #contact-close.hamburger.is-active:hover, #contact #contact-close.hamburger:hover {
  opacity: 0.6;
}
#contact #contact-close .hamburger-inner,
#contact #contact-close .hamburger-inner:after,
#contact #contact-close .hamburger-inner:before {
  width: 24px;
  height: 2px;
  background-color: #1a1a1a;
}
#contact #contact-close .hamburger-box {
  width: 24px;
  vertical-align: top;
}

.rotation-logo {
  animation: spin 8s linear infinite;
}

#works.archive {
  box-sizing: border-box;
  width: 1200px;
  margin: 0 auto;
  padding: 60px 0 44px;
}
#works.archive #page-heading {
  margin: 0 0 45px 60px;
  float: left;
}
#works.archive #works-search {
  float: right;
  display: flex;
  margin-right: 60px;
  padding-top: 2px;
}
#works.archive #works-search input {
  box-sizing: border-box;
  width: 240px;
  height: 29px;
  border: 1px solid #a0a0a0;
  padding-left: 12px;
  font-size: 16px;
  color: inherit;
}
#works.archive #works-search button {
  transition: opacity 300ms ease;
  width: 64px;
  height: 29px;
  border: 0;
  margin: 0 0 0 4px;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  color: white;
  background: #a0a0a0;
  cursor: pointer;
}
#works.archive #works-search button:hover {
  opacity: 0.6;
}
#works.archive .archive-categories {
  clear: both;
  margin: 0 0 50px 60px;
  padding: 0;
}
#works.archive .archive-categories li {
  float: left;
  list-style: none;
  font-size: 16px;
}
#works.archive .archive-categories li.active a {
  text-decoration: underline;
}
#works.archive .archive-categories li + li:before {
  content: '|';
  display: inline-block;
  margin: 0 26px 0 26px;
}
#works.archive .archive-categories:after {
  content: '';
  display: block;
  clear: both;
}
#works.archive .archive-categories a {
  color: inherit;
  text-decoration: none;
}
#works.archive .search-keywords {
  margin: 0;
  padding: 25px 0 60px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.1em;
}

.works-archive {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 1110px;
  margin: 0 auto;
}
.works-archive article {
  transition: opacity 600ms ease, visibility 300ms;
  display: block;
  width: 340px;
  height: 190px;
  margin: 10px 15px;
  opacity: 1;
  visibility: visible;
}
.works-archive article.hide {
  opacity: 0;
  visibility: hidden;
}
.works-archive a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.works-archive a:hover {
  opacity: 1;
}
.works-archive .clip {
  position: relative;
  overflow: hidden;
  width: 340px;
  height: 190px;
}
.works-archive .clip img {
  transition: transform 300ms ease;
  transform: translate(-50%, -50%) scale(1);
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
}
.works-archive a:hover .clip img {
  transform: translate(-50%, -50%) scale(1.2);
}
.works-archive .overlay {
  transition: opacity 300ms ease;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(250, 237, 235, 0.8);
  opacity: 0;
}
.works-archive .overlay:after {
  content: '';
  display: block;
  width: 130px;
  height: 1px;
  margin: 9px auto 0;
  background: #1a1a1a;
}
.works-archive h1 {
  width: 100%;
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
}
.works-archive p {
  width: 100%;
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
}
.works-archive a:hover .overlay {
  opacity: 1;
}
.works-archive .timeline {
  height: auto;
}
.works-archive .timeline .clip:after {
  transition: opacity 300ms ease;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(250, 237, 235, 0.8);
  opacity: 0;
}
.works-archive .timeline .overlay {
  position: static;
  display: block;
  opacity: 1;
  height: auto;
  background: none;
}
.works-archive .timeline .overlay:after {
  content: none;
}
.works-archive .timeline time,
.works-archive .timeline h1,
.works-archive .timeline p {
  transition: opacity 300ms ease;
  display: block;
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: 0;
  text-align: left;
}
.works-archive .timeline time {
  margin-top: 4px;
}
.works-archive .timeline a:hover .clip:after {
  opacity: 1;
}
.works-archive .timeline a:hover time,
.works-archive .timeline a:hover h1,
.works-archive .timeline a:hover p {
  opacity: 0.6;
}

#works.post .to-archive {
  margin: 0;
  padding: 43px 0 44px;
  text-align: center;
}
#works.post .to-archive a {
  display: inline-block;
  vertical-align: top;
  border: 1px solid #1a1a1a;
  padding: 20px 22px;
  font-size: 15px;
  letter-spacing: 0.1em;
  color: inherit;
  text-decoration: none;
}
#works.post .to-archive a:after {
  content: '▶';
  display: inline-block;
  margin-left: 26px;
  letter-spacing: 0;
}
#works.post .works-archive {
  padding-bottom: 60px;
}

#works .post-article .main-images {
  transition: opacity 1000ms ease;
  position: relative;
  width: 94%;
  max-width: 1804px;
  margin: 0 auto;
  padding-top: 12px;
  opacity: 0;
}
#works .post-article .main-images.active {
  opacity: 1;
}
#works .post-article .main-images .screen {
  position: relative;
  width: 90%;
  height: 0;
  padding-bottom: 50.5%;
}
#works .post-article .main-images .screen .slick-list,
#works .post-article .main-images .screen .slick-track {
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100% !important;
  height: 100% !important;
}
#works .post-article .main-images .screen .slick-slide {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: center center no-repeat;
  background-size: cover;
}
#works .post-article .main-images .control {
  position: absolute;
  right: 0;
  top: 12px;
  width: 8%;
}
#works .post-article .main-images .control div {
  transition: opacity 300ms ease;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  background: center center no-repeat;
  background-size: cover;
  cursor: pointer;
  opacity: 0;
}
#works .post-article .main-images .control div + div {
  margin-top: 39.7%;
}
#works .post-article .main-images .control div.active:hover {
  opacity: 0.6;
}
#works .post-article .main-images .control div.active {
  opacity: 1;
}
#works .post-article .sub-images {
  transition: opacity 600ms ease;
  width: 100%;
  min-width: 1200px;
  margin-top: 24px;
  padding-top: 10px;
  padding-bottom: 6px;
  opacity: 0;
}
#works .post-article .sub-images.active {
  opacity: 1;
}
#works .post-article .sub-images .screen {
  position: relative;
  width: 100%;
}
#works .post-article .sub-images .screen figure {
  transition: opacity 1000ms ease;
  position: relative;
  margin: 0 5px;
  opacity: 0.2;
}
#works .post-article .sub-images .screen figure.slick-center.slick-active, #works .post-article .sub-images .screen figure.slick-center[data-slick-index="-1"], #works .post-article .sub-images .screen figure.slick-center-clone {
  opacity: 1;
}
#works .post-article .sub-images .screen > figure {
  text-align: center;
  opacity: 1;
}
#works .post-article .sub-images .screen img {
  height: 600px !important;
}
#works .post-article .sub-images .screen figcaption {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#works .post-article .sub-images .screen .slick-list {
  z-index: 1;
}
#works .post-article .sub-images .screen .slick-prev,
#works .post-article .sub-images .screen .slick-next {
  transition: opacity 300ms ease;
  position: absolute;
  top: 276px;
  z-index: 2;
  width: 26px;
  height: 48px;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent center center no-repeat;
  background-size: contain;
  font-size: 0;
  cursor: pointer;
}
#works .post-article .sub-images .screen .slick-prev:hover,
#works .post-article .sub-images .screen .slick-next:hover {
  opacity: 0.6;
}
#works .post-article .sub-images .screen .slick-prev {
  left: calc(50% - 530px);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNiA0OCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxYTFhMWE7fS5jbHMtMntvcGFjaXR5OjA7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIyNC42MSA0Ny4xMSAwLjcgMjQgMjQuNjEgMC44OSAyNS4zIDEuNjEgMi4xNCAyNCAyNS4zIDQ2LjM5IDI0LjYxIDQ3LjExIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB3aWR0aD0iMjYiIGhlaWdodD0iNDgiLz48L3N2Zz4=");
}
#works .post-article .sub-images .screen .slick-next {
  right: calc(50% - 530px);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNiA0OCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxYTFhMWE7fS5jbHMtMntvcGFjaXR5OjA7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxLjQgNDcuMTEgMC43IDQ2LjM5IDIzLjg2IDI0IDAuNyAxLjYxIDEuNCAwLjg5IDI1LjMgMjQgMS40IDQ3LjExIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB3aWR0aD0iMjYiIGhlaWdodD0iNDgiLz48L3N2Zz4=");
}
#works .post-article .sub-images .screen .slick-dots {
  display: flex;
  justify-content: center;
  margin: 22px 0 0;
  padding: 0;
}
#works .post-article .sub-images .screen .slick-dots li {
  list-style: none;
}
#works .post-article .sub-images .screen .slick-dots button {
  width: 38px;
  height: 38px;
  border: 0;
  padding: 0;
  background: transparent;
  font-size: 0;
  text-align: center;
  cursor: pointer;
}
#works .post-article .sub-images .screen .slick-dots button:after {
  transition: background-color 300ms ease;
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #b3b3b3;
}
#works .post-article .sub-images .screen .slick-dots li.slick-active button:after {
  background-color: #1a1a1a;
}
#works .post-article .fadein-container-body {
  padding-top: 60px;
  padding-bottom: 36px;
}
#works .post-article .pubdate {
  display: block;
  width: 90%;
  max-width: 1728px;
  margin: 28px auto -15px auto;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
#works .post-article .title {
  width: 90%;
  max-width: 1728px;
  margin: 25px auto 0 auto;
  font-size: 28px;
  letter-spacing: 0.1em;
  line-height: 1.71;
}
#works .post-article .note {
  width: 90%;
  max-width: 1728px;
  margin: 9px auto 0 auto;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
#works .post-article .note-copy-spacer {
  height: 38px;
}
#works .post-article .copy {
  width: 700px;
  margin: 0 auto 14px calc(50% - 540px);
  font-size: 21px;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
#works .post-article .subtitle {
  width: 850px;
  margin: 0 auto 17px;
  padding-bottom: 15px;
  border-bottom: 1px solid #1a1a1a;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.84;
}
#works .post-article .lead {
  width: 850px;
  margin: 0 auto 42px;
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
#works .post-article .body {
  width: 710px;
  margin: 0 auto;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 2;
}
#works .post-article .body p, #works .post-article .body h1, #works .post-article .body h2, #works .post-article .body h3, #works .post-article .body h4, #works .post-article .body h5, #works .post-article .body h6 {
  margin: 0;
}
#works .post-article .body a {
  color: inherit;
  text-decoration: underline;
}
#works .post-article .body img {
  max-width: 710px;
  max-height: 500px;
  width: auto;
  height: auto;
  margin: 0 auto;
}

#movie {
  box-sizing: border-box;
  width: 1200px;
  margin: 0 auto;
  padding: 60px 0 44px;
}
#movie #page-heading {
  margin: 0 0 45px 60px;
  float: left;
}
#movie .works-archive .clip img {
  width: 102%;
}

@keyframes zoom-out {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
#top .top-link {
  margin: 0;
  padding: 0;
  text-align: right;
}
#top .top-link a {
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 194px;
  height: 54px;
  border: 1px solid #1a1a1a;
  padding: 0 18px;
  font-size: 15px;
  letter-spacing: 0.1em;
  color: inherit;
  text-decoration: none;
  line-height: 50px;
  text-align: left;
}
#top .top-link a:after {
  content: '▶';
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  display: inline-block;
  letter-spacing: 0;
  font-size: 13px;
}
#top #top-images {
  position: relative;
}
#top #top-images:after {
  content: '';
  position: absolute;
  left: calc(50% - 14px);
  bottom: 68px;
  z-index: 2;
  display: block;
  width: 28px;
  height: 44px;
  background: url("/i/top-scroll.svg") 0 0 no-repeat;
  background-size: contain;
  pointer-events: none;
}
#top #top-images .screen {
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: calc(100vh + 1px) !important;
  opacity: 0;
}
#top #top-images .slick-list,
#top #top-images .slick-track,
#top #top-images .slick-slide,
#top #top-images a,
#top #top-images .clip,
#top #top-images .image {
  display: block;
  width: 100%;
  height: 100%;
}
#top #top-images a {
  position: relative;
  color: inherit;
}
#top #top-images a:hover {
  opacity: 1;
}
#top #top-images .clip {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#top #top-images .image {
  transform: scale(1.1);
  height: calc(100% - 40px);
  background: center center no-repeat;
  background-size: cover;
}
#top #top-images .zoom-out .image {
  animation: 6s linear forwards zoom-out;
  animation-iteration-count: 1;
}
#top #top-images img {
  opacity: 0;
  visibility: hidden;
}
#top #top-images h1 {
  box-sizing: border-box;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  margin: 0;
  padding: 10px 26px 15px;
  font-size: 13px;
  text-align: right;
  letter-spacing: 0.1em;
  background: white;
}
#top #top-about {
  width: 1200px;
  margin: 40px auto 0;
}
#top #top-about:after {
  content: '';
  display: block;
  clear: both;
}
#top #top-about .left {
  float: left;
  margin-left: 60px;
}
#top #top-about .right {
  float: right;
  margin-right: 60px;
}
#top #top-about h1 {
  margin: 0;
}
#top #top-about h1 img:first-child {
  margin-top: -3px;
}
#top #top-about h1 img + img {
  margin-left: -28px;
}
#top #top-about .text {
  margin: 28px 0 0;
  width: 482px;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: 0.1em;
}
#top #top-about .to-about {
  margin-top: 17px;
}
#top #top-works {
  width: 1200px;
  margin: 54px auto 0;
}
#top #top-works .heading {
  margin: 0 0 32px;
  text-align: center;
}
#top #top-works .to-archive {
  margin-right: 60px;
  margin-top: 20px;
}
#top #top-timeline {
  width: 1200px;
  margin: 54px auto 0;
}
#top #top-timeline .heading {
  margin: 0 0 32px;
  text-align: center;
}
#top #top-timeline .to-archive {
  margin-right: 60px;
  margin-top: 20px;
}
#top #top-movie {
  width: 1200px;
  margin: 54px auto 0;
}
#top #top-movie .heading {
  margin: 0 0 32px;
  text-align: center;
}
#top #top-movie .works-archive .clip img {
  width: 102%;
}
#top #top-movie .to-archive {
  margin-right: 60px;
  margin-top: 20px;
}
#top #top-link {
  display: flex;
  justify-content: center;
  width: 1200px;
  margin: 102px auto 80px;
}
#top #top-link p {
  margin: 0 10px;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
}
#top #top-link a {
  display: block;
  color: inherit;
  text-decoration: none;
}
#top #top-link img {
  display: block;
  margin-bottom: 6px;
  border: 1px solid #eaeaea;
}
#top #top-contact {
  box-sizing: border-box;
  width: 1080px;
  margin: 0 auto 24px;
  padding: 18px 38px 42px 40px;
  background: #faf8f8;
}
#top #top-contact:after {
  content: '';
  display: block;
  clear: both;
}
#top #top-contact .left {
  float: left;
  width: 477px;
}
#top #top-contact .right {
  float: right;
}
#top #top-contact h1 {
  margin: 0;
  padding-top: 17px;
  font-size: 32px;
  letter-spacing: 0.1em;
}
#top #top-contact p {
  margin: 0;
}
#top #top-contact .text {
  padding-top: 21px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}
#top #top-contact .link {
  margin-top: 19px;
}
#top #top-contact .link a {
  display: block;
  width: 380px;
  height: 80px;
  margin-left: 39px;
  border-radius: 10px;
  background: #bcaaaa;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  line-height: 75px;
  color: white;
  text-decoration: none;
  text-align: center;
}
#top #top-contact .link a:after {
  content: '▶';
  display: inline-block;
  position: relative;
  top: -1px;
  margin-left: 14px;
  font-size: 12px;
}
#top #top-contact iframe {
  transition: opacity 600ms ease;
  opacity: 0;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}

#faq {
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 118px;
}
#faq #page-heading {
  margin: 86px 0 25px 60px;
}
#faq #page-heading span {
  display: inline-block;
  position: relative;
  top: -2px;
  margin-left: 40px;
  font-size: 21px;
  letter-spacing: 0.2em;
}
#faq .text {
  margin: 0 60px -5px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}
#faq .faq-list {
  display: flex;
  flex-wrap: wrap;
  width: 1142px;
  margin: 0 auto;
}
#faq article {
  width: 380px;
  margin-top: 108px;
  padding: 13px 0 4px;
}
#faq article:nth-child(3n+1), #faq article:nth-child(3n+2) {
  border-right: 1px solid #c5c5c5;
}
#faq article h1 {
  min-height: 80px;
  width: 320px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}
#faq article h1:before {
  content: '';
  display: block;
  width: 12px;
  height: 16px;
  margin-bottom: 4px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxNiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxYTFhMWE7fS5jbHMtMntvcGFjaXR5OjA7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIuMzMsOS43N0E1LjM0LDUuMzQsMCwwLDAsNiwxMS4xN2E1LjE3LDUuMTcsMCwwLDAsMi44Ni0uODNsLjM1LS4yMiwxLDEuMDVoLjdMOS41Nyw5Ljg2bC4zNC0uMzVBNSw1LDAsMCwwLDExLjM5LDYsNS4xNCw1LjE0LDAsMCwwLDkuNTIsMS44MSw1LjI1LDUuMjUsMCwwLDAsNiwuNDksNS4yMyw1LjIzLDAsMCwwLDIuMjQsMiw1LjEsNS4xLDAsMCwwLC42MSw1Ljg4LDQuOTMsNC45MywwLDAsMCwyLjMzLDkuNzdabS4zMS03LjNBNC40Miw0LjQyLDAsMCwxLDYsMS4wOSw0LjUxLDQuNTEsMCwwLDEsOS4zMiwyLjQ2YTQuNjUsNC42NSwwLDAsMSwxLjM1LDMuMzlBNC4zOCw0LjM4LDAsMCwxLDkuNDUsOWwtLjM1LjM2TDcuMjUsNy41SDYuNDlMOC43Myw5LjY4LDguMTYsMTBhNC40Nyw0LjQ3LDAsMCwxLTIuMjQuNTdBNC41Nyw0LjU3LDAsMCwxLDIuNyw5LjI0LDQuNDMsNC40MywwLDAsMSwxLjMzLDUuOSw0Ljc1LDQuNzUsMCwwLDEsMi42NCwyLjQ3WiIvPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iMi44OCIgeT0iMTQuOTUiIHdpZHRoPSI2LjI1IiBoZWlnaHQ9IjAuNTciLz48cmVjdCBjbGFzcz0iY2xzLTIiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIvPjwvc3ZnPg==") 0 0 no-repeat;
  background-size: contain;
}
#faq article img {
  display: block;
  margin: 5px auto;
}
#faq article p {
  width: 320px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}
#faq article p:before {
  content: '';
  display: block;
  width: 12px;
  height: 16px;
  margin-bottom: 4px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxNiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxYTFhMWE7fS5jbHMtMntvcGFjaXR5OjA7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik04LjQzLDguMzhsMSwyLjczaC42OEw2LjA3Ljg0LDEuODUsMTEuMTFIMi41TDMuNjEsOC4zOFpNNi4wNywyLjIzLDguMiw3Ljc4SDMuODNaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIyLjg4IiB5PSIxNC41OSIgd2lkdGg9IjYuMjUiIGhlaWdodD0iMC41NyIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjE2Ii8+PC9zdmc+") 0 0 no-repeat;
  background-size: contain;
}

#privacypolicy {
  width: 940px;
  margin: 0 auto;
  padding-bottom: 56px;
}
#privacypolicy .page-heading {
  margin: 77px 0 0 0;
  font-size: 22px;
  letter-spacing: 0.2em;
}
#privacypolicy .lead {
  margin: 49px 0 0;
  font-size: 14px;
  line-height: 2;
}
#privacypolicy .terms h1 {
  margin: 34px 0 0;
  font-size: 16px;
}
#privacypolicy .terms p {
  margin: 12px 0 0 56px;
  font-size: 14px;
  line-height: 2;
}

#complete h1 {
  margin: 0;
  padding-top: 92px;
  text-align: center;
  font-size: 22px;
  letter-spacing: 0.2em;
}
#complete p {
  display: table;
  margin: 66px auto 0;
  padding-bottom: 128px;
  font-size: 14px;
  line-height: 2;
}

#flow #page-heading {
  width: 1076px;
  margin: 0 auto;
  padding-top: 68px;
  font-size: 30px;
  letter-spacing: 0.15em;
}
#flow .lead {
  width: 1076px;
  margin: 0 auto;
  padding: 28px 0;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2.14;
}
#flow .top {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 110px 0 188px;
  background: url("/i/flow-0.jpg") center center no-repeat;
  background-size: cover;
}
#flow .top section {
  position: relative;
  display: table;
  min-width: 270px;
  padding: 0 0 24px;
  background-color: #f2f2f2;
}
#flow .top section + section {
  margin-left: 62px;
}
#flow .top section + section:before {
  position: absolute;
  left: -36px;
  top: 25px;
  content: '';
  display: block;
  width: 9px;
  height: 17px;
  background: center center no-repeat url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4LjkgMTcuNzciPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cG9seWxpbmUgY2xhc3M9ImNscy0xIiBwb2ludHM9IjAuMDEgMTcuNzcgOC45IDguODkgMCAwIi8+PC9zdmc+");
}
#flow .top section h1 {
  margin: 0;
  padding: 24px 0 27px;
  text-align: center;
  font-size: 17px;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
}
#flow .top section ol {
  margin: 0 22px;
  padding: 0;
}
#flow .top section li {
  position: relative;
  list-style: none;
  padding: 7px 13px;
  background-color: #fff;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 2;
}
#flow .top section li + li {
  margin-top: 30px;
}
#flow .top section li + li:before {
  position: absolute;
  left: calc(50% - 10px);
  top: -20px;
  display: block;
  content: '';
  width: 19px;
  height: 8px;
  background: center center no-repeat url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOC4yNiA3LjY3Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6IzFhMWExYTtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MC43NXB4O308L3N0eWxlPjwvZGVmcz48cG9seWxpbmUgY2xhc3M9ImNscy0xIiBwb2ludHM9IjE4LjAzIDAuMyA5LjEzIDcuMTkgMC4yMyAwLjMiLz48L3N2Zz4=");
}
#flow .top section li.ntb, #flow .top section li.nt {
  margin-top: 0;
}
#flow .top section li.ntb:before, #flow .top section li.nt:before {
  content: none;
}
#flow .top section li.ntb {
  padding-top: 0;
  padding-bottom: 0;
}
#flow .top section li.nt {
  padding-top: 4px;
}
#flow .top section li.nb {
  padding-bottom: 4px;
}
#flow .informations section {
  position: relative;
  margin-top: 80px;
}
#flow .informations section:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #F2F2F2;
}
#flow .informations section > div {
  position: relative;
  width: 490px;
  min-height: 360px;
}
#flow .informations .label {
  margin: 0;
  padding-top: 22px;
  font-size: 12px;
  letter-spacing: 0.14em;
}
#flow .informations .heading {
  margin: 0;
  padding-top: 18px;
  padding-left: 3px;
  padding-bottom: 5px;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
#flow .informations .heading .number {
  display: inline-block;
  margin-right: 16px;
  vertical-align: middle;
  font-family: 'Source Sans Pro';
  font-weight: 300;
  font-size: 30px;
  letter-spacing: 0.05em;
}
#flow .informations .heading .text {
  vertical-align: middle;
}
#flow .informations .p {
  margin: 0;
  border-top: 1px solid #D3D3D3;
  padding-top: 16px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.12em;
}
#flow .informations img {
  position: absolute;
  left: 0;
  top: -20px;
}
#flow .informations .lr:before {
  right: calc(50% - 300px);
}
#flow .informations .lr img {
  left: calc(50%);
}
#flow .informations .lr > div {
  margin-left: calc(50% - 542px);
}
#flow .informations .rl:before {
  left: calc(50% - 300px);
}
#flow .informations .rl img {
  left: auto;
  right: calc(50%);
}
#flow .informations .rl > div {
  margin-left: calc(50% + 46px);
}
#flow .last {
  margin: 0;
  padding: 52px 0 85px;
  text-align: center;
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.12em;
}

#flow-contact {
  width: 878px;
  margin: 0 auto;
  padding-bottom: 50px;
}
#flow-contact:after {
  content: '';
  display: block;
  clear: both;
}
#flow-contact h1 {
  margin: 0 0 0 -83px;
  font-size: 32px;
  letter-spacing: 0.15em;
}
#flow-contact h1 img {
  margin: -24px -2px 0 0;
}
#flow-contact p {
  margin: 0;
}
#flow-contact .text {
  width: 486px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.12em;
}
#flow-contact .link a {
  display: block;
  width: 380px;
  height: 80px;
  margin: -80px 0 0 auto;
  border-radius: 10px;
  background: #bcaaaa;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  line-height: 80px;
  color: white;
  text-decoration: none;
  text-align: center;
}
#flow-contact .link a:after {
  content: '▶';
  display: inline-block;
  position: relative;
  top: -1px;
  margin-left: 14px;
  font-size: 12px;
}

#about {
  min-width: 1200px;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 16px;
}
#about .about-menu {
  position: fixed;
  left: 0;
  top: 104px;
  right: 0;
  z-index: 2;
  height: 0;
}
#about .about-menu .limit {
  position: relative;
  min-width: 1200px;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  height: 0;
}
#about .about-menu .limit:before {
  position: absolute;
  left: calc(6% - 21px);
  top: 0.785em;
  content: '';
  display: block;
  width: 0;
  height: calc(12.56em + 230px);
  border-left: 2px solid #b3b3b3;
}
#about .about-menu p {
  position: relative;
  display: table;
  margin: 0 0 0 6%;
  line-height: 1.57;
}
#about .about-menu p + p {
  margin-top: 42px;
}
#about .about-menu p:before {
  transition: background-color 600ms ease, transform 600ms ease;
  transform: translateY(-3px) scale(1);
  position: absolute;
  left: -23px;
  top: 50%;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: #b3b3b3;
}
#about .about-menu p.active:before {
  transform: translateY(-3px) scale(1.333);
  background-color: #1a1a1a;
}
#about .about-menu p a {
  color: inherit;
  text-decoration: none;
}
#about .about-menu p a:hover {
  opacity: 1;
}
#about .about-menu p .underline {
  position: relative;
  display: inline-block;
}
#about .about-menu p .underline:after {
  transition: transform 300ms ease;
  transform: scaleX(0);
  transform-origin: 0% 50%;
  content: '';
  display: block;
  position: absolute;
  left: -1px;
  bottom: -1px;
  right: -1px;
  height: 1px;
  background: #1a1a1a;
}
#about .about-menu p a:hover .underline:after {
  transform: scaleX(1);
}
#about .contents {
  width: 77%;
  margin: 0 0 0 auto;
  z-index: 1;
}
#about article {
  position: relative;
}
#about article + article {
  margin-top: 16px;
}
#about article .limit {
  width: 76%;
  margin: 0 12% 0 auto;
}
#about article .limit > h1 {
  margin: 0 0 42px;
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 14px;
  padding-top: 84px;
  font-size: 22px;
  letter-spacing: 0.2em;
  line-height: 1.36;
}
#about article p {
  margin: 0;
  line-height: 2;
}
#about article p.strong {
  margin-top: 24px;
  margin-bottom: -3px;
  font-size: 18px;
  line-height: 1.88;
}
#about article p.strong strong {
  font-weight: inherit;
}
#about article p + p {
  margin-top: 2em;
}
#about article section {
  margin-top: 40px;
}
#about article section + section {
  margin-top: 52px;
}
#about article section h1 {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.75;
}
#about article table {
  border-collapse: collapse;
  border-spacing: 0;
  padding: 0;
  margin: 0;
  border: 0;
  width: 100%;
  line-height: 2;
}
#about article table th {
  min-width: 120px;
  width: 120px;
  max-width: 120px;
  padding: 0;
  font-weight: inherit;
  text-align-last: left;
  vertical-align: top;
}
#about article table td {
  width: 100%;
  padding: 0;
}
#about article table tr + tr th, #about article table tr + tr td {
  padding-top: 18px;
}
#about .article-1 {
  margin-top: -70px;
  padding-top: 70px;
}
#about .article-1 .article-1-top {
  position: relative;
  margin-bottom: -21px;
}
#about .article-1 .article-1-logo {
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  top: calc(50%);
  z-index: 2;
}
#about .article-1 .article-1-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 80%;
  height: auto;
  margin: 0 0 0 auto;
}

#recruit #page-heading {
  width: 1076px;
  margin: 0 auto;
  padding-top: 68px;
  font-size: 30px;
  letter-spacing: 0.15em;
}
#recruit .lead {
  width: 1076px;
  margin: 0 auto;
  padding: 28px 0 22px;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2.14;
}
#recruit .main-image {
  width: 100%;
  height: 400px;
  margin-bottom: 30px;
  background: center center no-repeat;
  background-size: cover;
}
#recruit .main-image img {
  display: none;
}
#recruit .recruit-article {
  margin-top: -100px;
  padding-top: 100px;
}
#recruit .recruit-article > h1 {
  width: 1032px;
  margin: 0 auto 20px;
  font-size: 22px;
  letter-spacing: 0.2em;
}
#recruit .main-table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  padding: 0;
  width: 932px;
  margin: 0 auto;
}
#recruit .main-table p {
  margin: 0;
}
#recruit .main-table > tbody > tr > th {
  vertical-align: top;
  text-align: left;
  width: 152px;
  max-width: 152px;
  min-width: 152px;
  padding-top: 34px;
  font-size: 16px;
  line-height: 1.75;
  font-weight: inherit;
}
#recruit .main-table > tbody > tr > td {
  vertical-align: top;
  text-align: left;
  width: 100%;
  padding-top: 34px;
  font-size: 14px;
  line-height: 2;
}
#recruit .sub-table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  padding: 0;
}
#recruit .sub-table > tbody > tr > th {
  vertical-align: top;
  text-align: left;
  font-weight: inherit;
}
#recruit .sub-table > tbody > tr > td {
  vertical-align: top;
  text-align: left;
}
#recruit .sub-table .nowrap {
  width: 0;
  white-space: nowrap;
}
#recruit .sub-table-1 th {
  padding-right: 26px;
}
#recruit .sub-table-3 th {
  padding-right: 15px;
}
#recruit #flow-contact {
  margin-top: 80px;
}
#recruit #flow-contact .text {
  margin-top: 19px;
}
#recruit #flow-contact .link {
  position: relative;
  top: 11px;
}
