@charset "UTF-8";
/* -----------------------------------------------
 Reset （リセット）
-------------------------------------------------- */
html {
  font-family: sans-serif;
  overflow-x: auto;
  overflow-y: scroll;
}

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
}

a {
  background: transparent;
  outline: 0 !important;
}

a:focus {
  outline: thin dotted;
}

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

html, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code, del, em, img, strong,
dl, dt, dd, ol, ul, li,
fieldset, form, label,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, footer, header, small, nav, section, figure, figcaption, main {
  margin: 0;
  padding: 0;
  display: block;
  vertical-align: baseline;
  list-style: none;
  background-color: transparent;
  outline: none;
}

audio, canvas {
  display: inline-block;
}

video {
  display: block;
}

ul, ol {
  list-style-type: none;
}

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

img {
  line-height: 1;
  vertical-align: middle;
}

a img {
  border: none;
}

img[usemap], map area {
  border: none !important;
  outline: none !important;
}

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

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

dt, dd, li,
th, td,
input, textarea {
  text-align: left;
  vertical-align: top;
}

input, textarea, button {
  margin: 0;
  padding: 0;
}

button, label {
  background-color: transparent;
  cursor: pointer;
}

button, select {
  text-transform: none;
}

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

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

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

input[type=search] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

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

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

textarea {
  overflow: auto;
  vertical-align: top;
}

/* -----------------------------------------------
Base （ベース）
-------------------------------------------------- */
html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}
html[data-loading] {
  height: 100%;
  overflow: hidden;
}
html.no-csspositionsticky {
  height: 100vh;
  overflow: hidden;
}
html {
  /* SP */
}
@media (max-width: 767px) {
  html {
    position: relative;
    font-size: 3.7333333333vw;
  }
}
html {
  /* PC */
}
@media (min-width: 768px) {
  html {
    font-size: 1.0248901903vw;
  }
}

body {
  background: white;
  font-family: "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #000;
  line-height: 1;
  overflow: hidden;
  transition: color 0.8s;
  will-change: color;
}
body a {
  color: #000;
}
.is-progressing body {
  height: 100vh;
}
.is-changebg body {
  color: white;
}
.is-changebg body a {
  color: white;
}
body {
  /* SP */
}
@media (max-width: 767px) {
  body.is-headeropen {
    height: 100%;
    overflow: hidden !important;
  }
}
body {
  /* PC */
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.45;
  font-size: 100%;
  font-weight: 400;
}

p,
li,
input,
textarea,
figcaption,
th, td {
  line-height: 1.875;
}

input, textarea, button, select {
  font-size: 100%;
  outline: none;
}

strong {
  font-weight: bold;
}

em {
  font-weight: bold;
}

a {
  text-decoration: none;
}

i, address, cite {
  font-style: normal;
}

a:hover,
a:active {
  text-decoration: none;
}

a, input, label {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.no-touchevents a[href^=tel] {
  pointer-events: none;
}

img, video, picture {
  width: 100%;
  height: auto;
}

* {
  box-sizing: border-box;
}

/* -----------------------------------------------
Status
-------------------------------------------------- */
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

/* -----------------------------------------------
color
-------------------------------------------------- */
.b-c-black {
  color: black;
}

.b-c-white {
  color: white;
}

/* --------------------------------
l-document
----------------------------------- */
.l-document {
  position: relative;
  background-color: white;
  z-index: 2;
}
.l-document:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #201F27;
  opacity: 0;
  transition: opacity 0.8s;
  will-change: opacity;
}
.is-changebg .l-document:before {
  opacity: 1;
}
.is-changescene .l-document:before, .is-changesceneafter .l-document:before {
  transition: none;
}
.l-document {
  /* SP */
}
.l-document {
  /* PC */
}
/* --------------------------------
l-main
----------------------------------- */
.l-main {
  position: relative;
  /* SP */
}
.l-main {
  /* PC */
}
/* --------------------------------
l-contents
----------------------------------- */
.l-contents {
  /* SP */
}
@media (max-width: 767px) {
  .l-contents {
    padding-left: 8vw;
    padding-right: 8vw;
  }
}
.l-contents {
  /* PC */
}
@media (min-width: 768px) {
  .l-contents {
    padding-left: 10.17vw;
    padding-right: 10.17vw;
  }
}

/* --------------------------------
l-overlay
----------------------------------- */
.l-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: #f7f5f4;
  opacity: 1;
  transition: opacity 0.75s ease-in-out;
  visibility: visible;
}
.is-load .l-overlay {
  opacity: 0;
  visibility: hidden;
}
.is-progressing .l-overlay, .is-afterprogress .l-overlay, .is-changescene .l-overlay, .is-changesceneafter .l-overlay {
  visibility: visible !important;
}
.is-afterprogress .l-overlay {
  opacity: 0;
}

/* --------------------------------
l-ie11
----------------------------------- */
.l-ie11 {
  display: none;
}
.no-csspositionsticky .l-ie11 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f7f5f4;
  z-index: 9999;
}
.no-csspositionsticky .l-ie11:before {
  content: "ERROR";
  position: absolute;
  top: 50%;
  left: 50%;
  color: rgba(0, 0, 0, 0.1);
  font-family: VeneerClean, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  transform: translate(-50%, -50%);
}
.no-csspositionsticky .l-ie11 > a {
  display: block;
  position: relative;
  text-align: center;
}
.l-ie11 {
  /* SP */
}
@media (max-width: 767px) {
  .l-ie11:before {
    font-size: 26.6666666667vw;
  }
  .l-ie11 {
    font-size: 3.7333333333vw;
  }
}
.l-ie11 {
  /* PC */
}
@media (min-width: 768px) {
  .l-ie11:before {
    font-size: 11.2737920937vw;
  }
  .l-ie11 {
    font-size: 1.0248901903vw;
  }
}

/* --------------------------------
l-header
----------------------------------- */
.l-header_logo {
  position: fixed;
  mix-blend-mode: difference;
}
.l-header_logo > a {
  display: block;
}
html:not(.is-scrolled) #home .l-header_logo, html:not(.is-scrolled) #journal .l-header_logo, html:not(.is-scrolled) #contact .l-header_logo {
  mix-blend-mode: normal;
}
.l-header_menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100vh;
}
.l-header_menu {
  background-color: #201F27;
  opacity: 0;
  visibility: hidden;
  z-index: 100;
  transition: opacity 0.6s, visibility 0.1s 0.6s;
  will-change: opacity;
}
.l-header_menu a {
  color: white;
}
.is-headeropen .l-header_menu {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.6s, visibility 0.1s;
}
.is-changescene .l-header_menu, .is-changesceneafter .l-header_menu {
  transition: none;
}
.l-header_gnav > ul {
  position: relative;
  z-index: 20;
}
.l-header_gnav > ul > li > img {
  display: none;
}
.l-header_gnav_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-header_gnav_bg:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.4;
  z-index: 3;
}
.l-header_gnav_bg > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  will-change: opacity;
}
.l-header_gnav_bg > img.is-active {
  z-index: 2;
}
.l-header_others {
  position: relative;
  z-index: 10;
}
.l-header_others > ul {
  display: flex;
}
.l-header_others > ul > li {
  display: flex;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.l-header_others > ul > li + li {
  margin-left: 2em;
}
.l-header_newsletter {
  position: relative;
  color: white;
  z-index: 10;
}
.l-header_language {
  position: fixed;
  z-index: 200;
  mix-blend-mode: difference;
}
.l-header_language > ul {
  display: flex;
}
.l-header_language > ul > li {
  display: flex;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}
.l-header_language > ul > li span {
  cursor: pointer;
  transition: opacity 1s;
  will-change: opacity;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-header_language > ul > li a > span {
  opacity: 0.4;
}
.l-header_language > ul > li a > span.is-active {
  opacity: 1;
}
.no-touchevents .l-header_language > ul > li a > span:hover {
  opacity: 1;
}
.l-header_language > ul > li + li {
  margin-left: 1.5em;
}
.l-header_language > ul > li a {
  color: white;
}
html:not(.is-scrolled) #home .l-header_language, html:not(.is-scrolled) #journal .l-header_language, html:not(.is-scrolled) #contact .l-header_language {
  mix-blend-mode: normal;
}
.l-header_sns {
  position: relative;
  z-index: 10;
}
.l-header_toggle {
  position: fixed;
  border: none;
  background: none;
  color: white;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  text-align: center;
  appearance: none;
  outline: none;
  mix-blend-mode: difference;
  z-index: 200;
}
.l-header_toggle_open, .l-header_toggle_close {
  display: flex;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}
.l-header_toggle_close {
  display: none;
}
.is-headeropen .l-header_toggle_open {
  display: none;
}
.is-headeropen .l-header_toggle_close {
  display: block;
}
.is-changescene .l-header_toggle_open {
  display: block !important;
}
.is-changescene .l-header_toggle_close {
  display: none !important;
}
html:not(.is-scrolled) #home .l-header_toggle, html:not(.is-scrolled) #journal .l-header_toggle, html:not(.is-scrolled) #contact .l-header_toggle {
  mix-blend-mode: normal;
}
.l-header {
  /* SP */
}
@media (max-width: 767px) {
  .l-header_logo {
    top: 8vw;
    left: 8vw;
    width: 13.0666666667vw;
    z-index: 100;
  }
  .l-header_menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 9.3333333333vh 8vw 0;
  }
  .l-header_gnav > ul > li {
    font-size: 7.4666666667vw;
    line-height: 1.2857142857;
  }
  .l-header_gnav > ul > li + li {
    margin-top: 4vh;
  }
  .l-header_gnav_bg {
    display: none;
  }
  .l-header_careers {
    position: relative;
    margin-top: 9.3333333333vh;
  }
  .l-header_careers > ul > li {
    font-size: 3.7333333333vw;
  }
  .l-header_others {
    position: relative;
    z-index: 10;
    margin-top: 9.3333333333vh;
  }
  .l-header_newsletter {
    margin-top: 9.3333333333vh;
  }
  .l-header_language {
    top: 5.3333333333vw;
    right: 28.2666666667vw;
  }
  .l-header_language > ul > li {
    height: 9.8666666667vw;
    font-size: 3.7333333333vw;
  }
  .l-header_sns {
    margin-top: 3.7333333333vh;
  }
  .l-header_sns .m-sns > ul {
    display: flex;
  }
  .l-header_sns .m-sns > ul > li + li {
    margin-top: 0;
    margin-left: 2.5em;
  }
  .l-header_toggle {
    top: 5.3333333333vw;
    right: 5.6vw;
    width: 16vw;
    height: 9.8666666667vw;
    font-size: 3.7333333333vw;
  }
}
.l-header {
  /* PC */
}
@media (min-width: 768px) {
  .l-header_logo {
    top: 3.2942898975vw;
    left: 4.0995607613vw;
    width: 3.5871156662vw;
    z-index: 200;
  }
  .l-header_menu {
    display: flex;
    align-items: center;
  }
  .l-header_gnav {
    flex: 1;
    padding-left: 4.0995607613vw;
    padding-right: 4.0995607613vw;
  }
  .l-header_gnav > ul {
    display: flex;
    justify-content: space-between;
  }
  .l-header_gnav > ul > li {
    font-size: 3.513909224vw;
  }
  .l-header_gnav > canvas {
    display: none;
    position: absolute;
  }
  .l-header_newsletter {
    position: absolute;
    left: 4.0995607613vw;
    bottom: 3.2942898975vw;
    width: 18.3748169839vw;
  }
  .l-header_language {
    right: 14.055636896vw;
    top: 2.5622254758vw;
  }
  .l-header_language > ul > li {
    font-size: 1.0248901903vw;
    height: 2.7086383602vw;
  }
  .l-header_others {
    position: fixed;
    right: 32.5768667643vw;
    bottom: 3.2942898975vw;
  }
  .l-header_others > ul > li {
    font-size: 1.0248901903vw;
  }
  .l-header_sns {
    position: absolute;
    right: 4.0995607613vw;
    bottom: 3.2942898975vw;
  }
  .l-header_toggle {
    top: 2.5622254758vw;
    right: 4.0995607613vw;
    width: 5.1976573939vw;
    height: 2.7086383602vw;
    font-size: 1.0248901903vw;
  }
}

/* --------------------------------
l-footer
----------------------------------- */
.l-footer {
  height: 100vh;
  background-color: white;
  color: #000;
}
.l-footer_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.l-footer_address > dl > dd {
  line-height: 1.4285714286;
}
.is-changebg .l-footer a {
  color: #000;
}
.l-footer {
  /* SP */
}
@media (max-width: 767px) {
  .l-footer_inner {
    padding-top: 16vw;
  }
  .l-footer_contact {
    margin-top: 8vw;
  }
  .l-footer_contact > a + a {
    margin-left: 1.8em;
  }
  .l-footer_address {
    margin-top: 14.6666666667vw;
  }
  .l-footer_address > dl > dt {
    font-size: 4.2666666667vw;
  }
  .l-footer_address > dl > dd {
    margin-top: 6.1333333333vw;
    font-size: 3.7333333333vw;
  }
  .l-footer_newsletter {
    margin-top: 13.3333333333vw;
  }
  .l-footer_sns {
    margin-top: 16vw;
  }
}
.l-footer {
  /* PC */
}
@media (min-width: 768px) {
  .l-footer_inner {
    padding-top: 4.7584187408vw;
  }
  .l-footer_contact {
    margin-top: 3.1478770132vw;
  }
  .l-footer_contact > a + a {
    margin-left: 2.2em;
  }
  .l-footer_address {
    margin-top: 8.78477306vw;
  }
  .l-footer_address > dl > dt {
    font-size: 1.1713030747vw;
  }
  .l-footer_address > dl > dd {
    margin-top: 1.6837481698vw;
    font-size: 1.0248901903vw;
    line-height: 1.4285714286;
  }
  .l-footer_newsletter {
    position: relative;
    width: 25.7686676428vw;
    margin-top: 5.9297218155vw;
    z-index: 2;
  }
  .l-footer_sns {
    margin-top: -1.4641288433vw;
    display: flex;
    justify-content: flex-end;
  }
}

/* --------------------------------
l-cursor
----------------------------------- */
.l-cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 100;
  mix-blend-mode: difference;
  will-change: transform;
  opacity: 0;
}
.l-cursor > span {
  display: block;
  border: 1px solid white;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), height 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  will-change: width, height;
}
.l-cursor > span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  color: white;
  width: 6em;
  margin-top: 0.3em;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.1s 0.5s;
  will-change: opacity;
}
.l-cursor.is-hover > span:before {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.1s;
}
.l-cursor.is-hover > span[data-cursor]:before {
  content: attr(data-cursor);
}
.l-cursor {
  /* SP */
}
@media (max-width: 767px) {
  .touchevents .l-cursor {
    display: none;
  }
  .l-cursor > span {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
  .l-cursor.is-hover > span:before {
    font-size: 3.2vw;
  }
  .l-cursor.is-hover > span {
    width: 32vw;
    height: 32vw;
  }
  .l-cursor.is-hover[data-size=s] > span {
    width: 16vw;
    height: 16vw;
  }
}
.l-cursor {
  /* PC */
}
@media (min-width: 768px) {
  .l-cursor > span {
    width: 0.7320644217vw;
    height: 0.7320644217vw;
  }
  .l-cursor.is-hover > span:before {
    font-size: 1.0980966325vw;
  }
  .l-cursor.is-hover > span {
    width: 12.298682284vw;
    height: 12.298682284vw;
  }
  .l-cursor.is-hover[data-size=s] > span {
    width: 6.149341142vw;
    height: 6.149341142vw;
  }
}

/* -----------------------------------------------
* .m-kv
* ***
-------------------------------------------------- */
.m-kv {
  position: relative;
  height: 100vh;
}
.m-kv {
  color: white;
  overflow: hidden;
}
.m-kv:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.24;
  z-index: 5;
  will-change: opacity;
}
.m-kv_wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.is-notfirstview .m-kv_wrap {
  display: none;
}
.m-kv_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}
.m-kv_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.m-kv_bg img,
.m-kv_bg picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-kv_link > a {
  color: white;
}
.m-kv_link > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.m-kv_projects {
  justify-content: flex-end;
}
.m-kv-nooverlay:before {
  display: none;
}
.m-kv.js-visible:before {
  opacity: 0;
}
.m-kv.is-visible:before {
  transition: opacity 2s 1.2s;
}
.m-kv {
  /* SP */
}
@media (max-width: 767px) {
  .m-kv_inner {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  .m-kv_projects {
    padding-bottom: 10.4vh;
  }
  .m-kv_time {
    margin-bottom: 6vh;
  }
}
.m-kv {
  /* PC */
}
@media (min-width: 768px) {
  .m-kv_inner {
    padding-left: 10.17vw;
    padding-right: 10.17vw;
  }
  .m-kv_projects {
    padding-bottom: 13.671875vh;
  }
  .m-kv-journal .m-kv_inner {
    padding-top: 1.953125vh;
  }
  .m-kv_time {
    margin-bottom: 4.8177083333vh;
  }
}

/* -----------------------------------------------
* hdg Module
* 見出し用
-------------------------------------------------- */
/* -----------------------------------------------
* .m-hdglv2
* ***
-------------------------------------------------- */
.m-hdglv2 {
  display: block;
  line-height: 1.2037037037;
  letter-spacing: 0.004em;
}
.m-hdglv2 .sub {
  color: #B7A66D;
}
.m-hdglv2 {
  /* SP */
}
@media (max-width: 767px) {
  .m-hdglv2 {
    font-size: 7.4666666667vw;
    line-height: 1.3090909091;
  }
  .m-hdglv2-short {
    width: 74.6666666667vw;
  }
  .m-hdglv2-s {
    font-size: 6.4vw;
    line-height: 1.3617021277;
  }
}
.m-hdglv2 {
  /* PC */
}
@media (min-width: 768px) {
  .m-hdglv2 {
    font-size: 3.513909224vw;
    line-height: 1.2083333333;
  }
  .m-hdglv2-short {
    width: 45.9736456808vw;
  }
  .m-hdglv2-s {
    max-width: 60.7613469985vw;
    font-size: 2.635431918vw;
    line-height: 1.5555555556;
  }
  .m-hdglv2-l {
    font-size: 3.953147877vw;
    line-height: 1.2037037037;
  }
}

/* -----------------------------------------------
* .m-hdglv3
* ***
-------------------------------------------------- */
.m-hdglv3 {
  display: block;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  /* SP */
}
@media (max-width: 767px) {
  .m-hdglv3 {
    margin-bottom: 8vw;
    font-size: 4.2666666667vw;
  }
}
.m-hdglv3 {
  /* PC */
}
@media (min-width: 768px) {
  .m-hdglv3 {
    margin-bottom: 3.6603221083vw;
    font-size: 1.1713030747vw;
  }
}

/* -----------------------------------------------
* .m-lead
* ***
-------------------------------------------------- */
.m-lead {
  letter-spacing: 0.005em;
  /* SP */
}
@media (max-width: 767px) {
  .m-lead {
    margin-top: 6.6666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}
.m-lead {
  /* PC */
}
@media (min-width: 768px) {
  .m-lead {
    width: 45.9736456808vw;
    margin-top: 2.9282576867vw;
    font-size: 1.4641288433vw;
    line-height: 1.6;
  }
  .m-lead-s {
    width: 39.3118594436vw;
    margin-top: 2.196193265vw;
    font-size: 1.1713030747vw;
    line-height: 2;
  }
  .m-lead {
    /*[data-lang=ja] & {
      width: auto;
    }*/
  }
}

/* -----------------------------------------------
* .m-newsletter
* ***
-------------------------------------------------- */
.m-newsletter > dl > dt {
  letter-spacing: 0.03em;
}
.m-newsletter .mc4wp-form-fields {
  display: flex;
  border-bottom: 1px solid #000;
}
.m-newsletter .mc4wp-form-fields input {
  width: 100%;
  border: none;
  background-color: transparent;
  appearance: none;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.m-newsletter .mc4wp-form-fields input::placeholder {
  color: rgba(0, 0, 0, 0.24);
}
.m-newsletter .mc4wp-form-fields .m-mc4wp_mail {
  flex: 1;
}
.m-newsletter .mc4wp-response {
  display: none !important;
}
.m-newsletter-white .mc4wp-form-fields {
  border-bottom-color: white;
}
.m-newsletter-white .mc4wp-form-fields input {
  color: white;
}
.m-newsletter-white .mc4wp-form-fields input::placeholder {
  color: rgba(255, 255, 255, 0.24) !important;
}
.m-newsletter {
  /* SP */
}
@media (max-width: 767px) {
  .m-newsletter > dl > dt {
    font-size: 4.2666666667vw;
  }
  .m-newsletter > dl > dd {
    margin-top: 4vw;
  }
}
.m-newsletter {
  /* PC */
}
@media (min-width: 768px) {
  .m-newsletter .mc4wp-form-fields {
    padding-top: 0.1464128843vw;
  }
  .m-newsletter .mc4wp-form-fields input {
    padding: 0.5124450952vw 0;
    font-size: 1.0248901903vw;
  }
}

/* -----------------------------------------------
* .m-sns
* ***
-------------------------------------------------- */
.m-sns > ul > li > a {
  display: block;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.no-touchevents .m-sns > ul > li > a {
  transition: opacity 0.3s;
  will-change: opacity;
}
.no-touchevents .m-sns > ul > li > a:hover {
  opacity: 0.4;
}
.m-sns {
  /* SP */
}
@media (max-width: 767px) {
  .m-sns > ul > li {
    font-size: 3.7333333333vw;
  }
  .m-sns > ul > li + li {
    margin-top: 1.3333333333vw;
  }
}
.m-sns {
  /* PC */
}
@media (min-width: 768px) {
  .m-sns > ul {
    display: flex;
  }
  .m-sns > ul > li {
    font-size: 1.0248901903vw;
    line-height: 1.4285714286;
  }
  .m-sns > ul > li + li {
    margin-left: 2.5em;
  }
}

/* -----------------------------------------------
* .m-word
* ***
-------------------------------------------------- */
.m-word {
  display: inline-block;
  flex-wrap: wrap;
}
[data-word=wrap] .m-word {
  margin-right: 0;
}
.js-visible .m-word {
  opacity: 0;
}
.m-word .m-letter {
  display: inline-block;
}
.js-visible .m-word .m-letter {
  opacity: 0;
}
.m-word {
  /* SP */
}
@media (max-width: 767px) {
  .m-word {
    /*& + br.pc + & {
      margin-left: -.25em;
    }*/
  }
}
.m-word {
  /* PC */
}
/* -----------------------------------------------
* .m-journallist
* ***
-------------------------------------------------- */
.m-journallist {
  position: relative;
}
.m-journallist > ul {
  position: relative;
  z-index: 2;
}
.m-journallist > ul > li {
  position: relative;
}
.m-journallist > ul > li:before {
  content: "";
  position: absolute;
  right: 0;
  background: url(../img/icn-arrow-white.svg) center no-repeat;
  background-size: contain;
  opacity: 0.24;
  transition: opacity 1s;
  will-change: opacity;
}
.no-touchevents .m-journallist > ul > li:hover:before {
  opacity: 1;
}
.m-journallist > ul > li:nth-of-type(n+11) {
  display: none;
}
.m-journallist a {
  display: block;
}
.m-journallist a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.m-journallist .inner {
  position: relative;
}
.m-journallist .inner:before, .m-journallist .inner:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: white;
  will-change: opacity, transform;
}
.m-journallist .inner:before {
  background-color: white;
  transition: opacity 1.5s;
}
.m-journallist .inner:after {
  opacity: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 20%, white 50%, rgba(255, 255, 255, 0) 80%) center no-repeat;
  background-size: 100% auto;
  transition: opacity 1.5s, background-size 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.m-journallist .inner:before {
  opacity: 0.24;
}
.no-touchevents .m-journallist .inner:hover:before {
  opacity: 0.5;
}
.no-touchevents .m-journallist .inner:hover:after {
  opacity: 0.75;
  background-size: 250% auto;
}
.m-journallist .inner:before {
  opacity: 0.24;
}
.m-journallist .date {
  color: #b09b80;
}
.m-journallist .js-visible a:before {
  opacity: 0;
}
.m-journallist .js-visible .inner:before {
  opacity: 0;
}
.m-journallist {
  /* SP */
}
@media (max-width: 767px) {
  .m-journallist {
    margin-top: -5.3333333333vw;
  }
  .m-journallist > ul > li:before {
    bottom: 4.5333333333vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
  .m-journallist .inner {
    padding-top: 13.3333333333vw;
    padding-bottom: 15.4666666667vw;
  }
  .m-journallist .date {
    display: block;
    width: 17.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.2857142857;
  }
  .m-journallist .title {
    margin-top: 5.8666666667vw;
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
  .m-journallist .image {
    display: none;
  }
}
.m-journallist {
  /* PC */
}
@media (min-width: 768px) {
  .m-journallist {
    margin-top: -3.0014641288vw;
  }
  .m-journallist > ul > li:before {
    top: 4.39238653vw;
    width: 1.4641288433vw;
    height: 1.4641288433vw;
  }
  .m-journallist .inner {
    display: flex;
    padding-top: 4.39238653vw;
    padding-bottom: 4.39238653vw;
  }
  .m-journallist .date {
    width: 5.8565153734vw;
    margin-top: 0.5856515373vw;
    padding-right: 2.196193265vw;
    font-size: 1.0248901903vw;
    line-height: 1.2857142857;
  }
  .m-journallist .title {
    flex: 1;
    padding-left: 7.906295754vw;
    padding-right: 13.4699853587vw;
    font-size: 1.756954612vw;
    line-height: 1.6666666667;
  }
  .m-journallist .image {
    position: absolute;
    display: none;
  }
}

/* -----------------------------------------------
* .m-storkerimage
* ***
-------------------------------------------------- */
.m-storkerimage {
  position: absolute;
  top: 0;
  left: 45%;
  opacity: 0;
  background-color: black;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  will-change: opacity, transform;
}
.m-storkerimage:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.4;
}
.m-storkerimage-casestudy:before {
  display: none;
}
.m-storkerimage {
  /* SP */
}
@media (max-width: 767px) {
  .touchevents .m-storkerimage {
    display: none;
  }
  .m-storkerimage-journal {
    width: 33.6vw;
    height: 55.4666666667vw;
    margin-top: -27.7333333333vw;
  }
  .m-storkerimage-casestudy {
    width: 46.9333333333vw;
    height: 31.2vw;
    margin-top: -15.6vw;
  }
  .m-storkerimage-team {
    width: 59.2vw;
    height: 39.4666666667vw;
    margin-top: -19.7333333333vw;
  }
}
.m-storkerimage {
  /* PC */
}
@media (min-width: 768px) {
  .m-storkerimage-journal {
    width: 25.7686676428vw;
    height: 30.4538799414vw;
    margin-top: -15.2269399707vw;
  }
  .m-storkerimage-casestudy {
    width: 25.7686676428vw;
    height: 17.1303074671vw;
    margin-top: -8.5651537335vw;
  }
  .m-storkerimage-team {
    width: 32.5036603221vw;
    height: 21.5959004392vw;
    margin-top: -10.7979502196vw;
  }
}

/* -----------------------------------------------
* .m-txtbtn
* ***
-------------------------------------------------- */
.m-txtbtn {
  display: inline-flex;
  position: relative;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 1s;
  will-change: opacity;
}
.no-touchevents .m-txtbtn:hover {
  opacity: 0.5;
}
.m-txtbtn {
  /* SP */
}
@media (max-width: 767px) {
  .m-txtbtn {
    font-size: 3.7333333333vw;
  }
}
.m-txtbtn {
  /* PC */
}
@media (min-width: 768px) {
  .m-txtbtn {
    font-size: 1.0248901903vw;
  }
}

/* -----------------------------------------------
* .m-fitimg
* ***
-------------------------------------------------- */
.m-fitimg {
  position: absolute;
}
.m-fitimg.is-vertical {
  left: 50%;
  top: 0;
  bottom: 0;
  width: 177.86458333vh;
  transform: translateX(-50%);
}
.m-fitimg.is-horizontal {
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}
.m-fitimg {
  /* SP */
}
.m-fitimg {
  /* PC */
}
/* -----------------------------------------------
* .m-video
* ***
-------------------------------------------------- */
.m-video {
  position: relative;
}
.m-video_image {
  position: relative;
  cursor: pointer;
  z-index: 2;
}
.m-video_image:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(../img/btn-play.svg) center no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
  z-index: 2;
  will-change: opacity;
}
.m-video_movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  visibility: hidden;
}
.m-video.is-playing .m-video_image:before,
.m-video.is-playing .m-video_image img,
.m-video.is-playing .m-video_image picture {
  visibility: hidden;
}
.m-video.is-playing .m-video_movie {
  visibility: visible;
}
.js-visible .m-video_image:before {
  opacity: 0;
}
.is-visible .m-video_image:before {
  transition: opacity 0.4s 1s;
}
.m-video {
  /* SP */
}
@media (max-width: 767px) {
  .m-video_image:before {
    width: 17.8666666667vw;
    height: 10.1333333333vw;
  }
}
.m-video {
  /* PC */
}
@media (min-width: 768px) {
  .m-video_image:before {
    width: 10.6881405564vw;
    height: 6.0029282577vw;
  }
}

/* -----------------------------------------------
* form Module
* フォーム用
-------------------------------------------------- */
/* -----------------------------------------------
* .m-form
* ***
-------------------------------------------------- */
.m-form {
  /* SP */
}
@media (max-width: 767px) {
  .m-form_half:nth-of-type(n+2), .m-form_full:nth-of-type(n+2),
  .m-form [data-id]:nth-of-type(n+2) {
    margin-top: 5.3333333333vw;
  }
  .m-form_full:last-child {
    margin-top: 21.3333333333vw;
  }
}
.m-form {
  /* PC */
}
@media (min-width: 768px) {
  .m-form {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .m-form_half {
    width: 30.4538799414vw;
  }
  .m-form_half:nth-of-type(n+3) {
    margin-top: 3.074670571vw;
  }
  .m-form_full {
    width: 100%;
    margin-top: 3.074670571vw;
  }
  .m-form_full:last-child {
    margin-top: 7.6134699854vw;
  }
  .m-form [data-id] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 3.074670571vw;
  }
}

/* -----------------------------------------------
* .m-form_input
* ***
-------------------------------------------------- */
.m-form_input {
  display: flex;
  align-items: center;
  height: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  transition: border-bottom 0.3s;
  will-change: border-bottom;
}
.m-form_input > span:nth-of-type(1) {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.m-form_input > span:nth-of-type(2) {
  flex: 1;
}
.m-form_input input,
.m-form_input textarea,
.m-form_input select {
  width: 100%;
  border: none;
  background: none;
  font-family: "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: normal;
  appearance: none;
}
.m-form_input input.wpcf7-not-valid,
.m-form_input textarea.wpcf7-not-valid,
.m-form_input select.wpcf7-not-valid {
  border-bottom-color: #B7A66D;
  background: url(../img/icn-error.svg) right center no-repeat;
  /* SP */
}
@media (max-width: 767px) {
  .m-form_input input.wpcf7-not-valid,
  .m-form_input textarea.wpcf7-not-valid,
  .m-form_input select.wpcf7-not-valid {
    background-size: 6.4vw 6.4vw;
  }
}
.m-form_input input.wpcf7-not-valid,
.m-form_input textarea.wpcf7-not-valid,
.m-form_input select.wpcf7-not-valid {
  /* PC */
}
@media (min-width: 768px) {
  .m-form_input input.wpcf7-not-valid,
  .m-form_input textarea.wpcf7-not-valid,
  .m-form_input select.wpcf7-not-valid {
    background-size: 1.756954612vw 1.756954612vw;
  }
}
.m-form_input input::placeholder,
.m-form_input textarea::placeholder {
  color: rgba(0, 0, 0, 0.24);
  transition: color 0.5s;
  will-change: color;
}
.m-form_input input:focus::placeholder,
.m-form_input textarea:focus::placeholder {
  color: rgba(0, 0, 0, 0);
}
.m-form_input textarea {
  line-height: 1.4;
}
.m-form_input select {
  cursor: pointer;
}
.m-form_input select:invalid {
  color: rgba(0, 0, 0, 0.24);
}
.m-form_input select.wpcf7-not-valid {
  /* SP */
}
@media (max-width: 767px) {
  .m-form_input select.wpcf7-not-valid {
    background-position: right 8.5333333333vw center;
  }
}
.m-form_input select.wpcf7-not-valid {
  /* PC */
}
@media (min-width: 768px) {
  .m-form_input select.wpcf7-not-valid {
    background-position: right 2.3426061493vw center;
  }
}
.m-form_input:focus-within {
  border-bottom-color: #000;
}
.m-form_input-select {
  position: relative;
}
.m-form_input-select:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background: url(../img/icn-select.svg) center no-repeat;
  background-size: contain;
  transform: translateY(-70%);
}
.m-form_input {
  /* SP */
}
@media (max-width: 767px) {
  .m-form_input {
    padding-bottom: 1.3333333333vw;
  }
  .m-form_input > span:nth-of-type(1) {
    width: 25.3333333333vw;
    font-size: 3.7333333333vw;
  }
  .m-form_input > span:nth-of-type(2) {
    font-size: 4.2666666667vw;
  }
  .m-form_input input,
  .m-form_input textarea,
  .m-form_input select {
    padding: 6.4vw 3.4666666667vw;
    font-size: 4.2666666667vw;
  }
  .m-form_input textarea {
    padding: 1.8666666667vw 3.4666666667vw;
    height: 16vw;
  }
  .m-form_input-2line > span:nth-of-type(1) {
    padding-bottom: 2.1333333333vw;
  }
  .m-form_input-2line > span:nth-of-type(2) {
    margin-top: 2.6666666667vw;
  }
  .m-form_input-select:before {
    width: 6.4vw;
    height: 6.4vw;
  }
}
.m-form_input {
  /* PC */
}
@media (min-width: 768px) {
  .m-form_input {
    padding-bottom: 0.7320644217vw;
  }
  .m-form_input > span:nth-of-type(1) {
    width: 7.3206442167vw;
    font-size: 1.0248901903vw;
  }
  .m-form_input > span:nth-of-type(2) {
    font-size: 1.317715959vw;
  }
  .m-form_input input,
  .m-form_input textarea,
  .m-form_input select {
    padding: 1.6105417277vw 1.0248901903vw;
    font-size: 1.317715959vw;
  }
  .m-form_input textarea {
    padding: 0.5124450952vw 0;
    height: 6.0029282577vw;
  }
  .m-form_input-2line {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 1.756954612vw;
  }
  .m-form_input-2line > span:nth-of-type(2) {
    width: 100%;
    margin-top: 0.7320644217vw;
  }
  .m-form_input-select:before {
    width: 1.756954612vw;
    height: 1.756954612vw;
  }
}

/* -----------------------------------------------
* .m-form_btn
* ***
-------------------------------------------------- */
.m-form_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border: none;
  border: 1px solid black;
  background-color: black;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: white;
  letter-spacing: 0.1em;
  appearance: none;
  transition: background-color 1s, color 1s;
  will-change: background-color;
}
.m-form_btn > span {
  height: 0.7em;
  line-height: 1.2;
}
.no-touchevents .m-form_btn {
  background-color: white;
  color: #000;
}
.no-touchevents .m-form_btn:hover {
  background-color: black;
  color: white;
}
.m-form_btn {
  /* SP */
}
@media (max-width: 767px) {
  .m-form_btn {
    height: 17.0666666667vw;
    font-size: 3.7333333333vw;
  }
}
.m-form_btn {
  /* PC */
}
@media (min-width: 768px) {
  .m-form_btn {
    height: 4.6852122987vw;
    font-size: 1.0248901903vw;
  }
}

/* -----------------------------------------------
* .wpcf7
* ***
-------------------------------------------------- */
.wpcf7-not-valid-tip,
.wpcf7 form.invalid .wpcf7-response-output {
  display: none !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  border: none;
  animation: wpcf7Comp 3s both;
}
@keyframes wpcf7Comp {
  0%, 99.9% {
    opacity: 0;
    visibility: visible;
  }
  30%, 70% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.wpcf7 form.sent .wpcf7-response-output {
  /* SP */
}
@media (max-width: 767px) {
  .wpcf7 form.sent .wpcf7-response-output {
    font-size: 3.7333333333vw;
  }
}
.wpcf7 form.sent .wpcf7-response-output {
  /* PC */
}
@media (min-width: 768px) {
  .wpcf7 form.sent .wpcf7-response-output {
    font-size: 1.0248901903vw;
  }
}

.m-form_security {
  display: flex;
  justify-content: center;
  align-items: center;
  /* SP */
}
@media (max-width: 767px) {
  .m-form_security {
    margin-top: 5.3333333333vw;
  }
}
.m-form_security {
  /* PC */
}
@media (min-width: 768px) {
  .m-form_security {
    margin-top: 3.074670571vw;
  }
}

/* -----------------------------------------------
* visible Module
* 画面表示内アニメーション用
-------------------------------------------------- */
/* -----------------------------------------------
* [data-visible=fade]
* ***
-------------------------------------------------- */
.js-visible[data-visible=fade],
.js-visible [data-visible=fade] {
  opacity: 0;
  transform: translateY(20px);
}

.is-visible[data-visible=fade],
.is-visible [data-visible=fade] {
  transition: opacity 1.5s, transform 1.5s;
  will-change: opacity, transform;
}
.is-visible[data-visible=fade][data-related],
.is-visible [data-visible=fade][data-related] {
  transition-delay: 0.4s;
}

/* -----------------------------------------------
* [data-visible=image]
* ***
-------------------------------------------------- */
.js-visible[data-visible=image],
.js-visible [data-visible=image] {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=image],
  .js-visible [data-visible=image] {
    transform: translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=image],
  .js-visible [data-visible=image] {
    transform: translateY(8vw);
  }
}
.js-visible[data-visible=image],
.js-visible [data-visible=image] {
  background-color: #201F27;
  overflow: hidden;
}
.js-visible[data-visible=image] img,
.js-visible [data-visible=image] img {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=image] img,
  .js-visible [data-visible=image] img {
    transform: scale(1.01) translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=image] img,
  .js-visible [data-visible=image] img {
    transform: scale(1.01) translateY(8vw);
  }
}

.is-visible[data-visible=image],
.is-visible [data-visible=image] {
  background-color: #201F27;
  overflow: hidden;
  transition: opacity 0.8s, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.is-visible[data-visible=image] img,
.is-visible [data-visible=image] img {
  transform: scale(1.01);
  transition: opacity 0.8s 0.4s, transform 2s 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

/* -----------------------------------------------
* [data-visible=topprojects]
* ***
-------------------------------------------------- */
.js-visible[data-visible=topprojects] {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=topprojects] {
    transform: translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=topprojects] {
    transform: translateY(8vw);
  }
}
.js-visible[data-visible=topprojects] .image {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=topprojects] .image {
    transform: translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=topprojects] .image {
    transform: translateY(8vw);
  }
}

.is-visible[data-visible=topprojects] {
  transition: opacity 0.8s, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.is-visible[data-visible=topprojects] .image {
  transition: opacity 0.8s 0.4s, transform 2s 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
.is-visible[data-visible=topprojects]:nth-of-type(2) {
  transition-delay: 0.3s;
}
.is-visible[data-visible=topprojects]:nth-of-type(2) .image {
  transition-delay: 0.7s;
}

/* -----------------------------------------------
* [data-visible=topabout]
* ***
-------------------------------------------------- */
.js-visible[data-visible=topabout] {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=topabout] {
    transform: translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=topabout] {
    transform: translateY(8vw);
  }
}
.js-visible[data-visible=topabout] .p-home_about_wrap {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=topabout] .p-home_about_wrap {
    transform: translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=topabout] .p-home_about_wrap {
    transform: translateY(8vw);
  }
}

.is-visible[data-visible=topabout] {
  transition: opacity 0.5s, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.is-visible[data-visible=topabout] .p-home_about_wrap {
  transition: opacity 0.5s 0.4s, transform 2s 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

/* -----------------------------------------------
* [data-visible=video]
* ***
-------------------------------------------------- */
.js-visible[data-visible=video],
.js-visible [data-visible=video] {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=video],
  .js-visible [data-visible=video] {
    transform: translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=video],
  .js-visible [data-visible=video] {
    transform: translateY(8vw);
  }
}
.js-visible[data-visible=video],
.js-visible [data-visible=video] {
  background-color: #201F27;
  overflow: hidden;
}
.js-visible[data-visible=video] .m-video_image,
.js-visible [data-visible=video] .m-video_image {
  opacity: 0;
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .js-visible[data-visible=video] .m-video_image,
  .js-visible [data-visible=video] .m-video_image {
    transform: scale(1.01) translateY(15vw);
  }
}
@media (min-width: 768px) {
  .js-visible[data-visible=video] .m-video_image,
  .js-visible [data-visible=video] .m-video_image {
    transform: scale(1.01) translateY(8vw);
  }
}

.is-visible[data-visible=video],
.is-visible [data-visible=video] {
  background-color: #201F27;
  overflow: hidden;
  transition: opacity 0.8s, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.is-visible[data-visible=video] .m-video_image,
.is-visible [data-visible=video] .m-video_image {
  transform: scale(1.01);
  transition: opacity 0.8s 0.4s, transform 2s 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
/* -----------------------------------------------
* .p-home_kv
* ***
-------------------------------------------------- */
.p-home_kv {
  position: relative;
  height: 100vh;
}
.p-home_kv {
  color: white;
  overflow: hidden;
}
.p-home_kv:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.24;
  z-index: 5;
}
.p-home_kv_wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  will-change: transform;
}
.is-notfirstview .p-home_kv_wrap {
  display: none;
}
.p-home_kv_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}
.p-home_kv_title, .p-home_kv_lead {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 2;
}
.p-home_kv_title {
  top: 50%;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-50%);
}
.p-home_kv_bg {
  width: 100%;
  height: 100%;
}
.p-home_kv_bg > img,
.p-home_kv_bg > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home_kv_slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.p-home_kv_slider > ul > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  visibility: hidden;
  z-index: 1;
  will-change: opacity, transform;
}
.p-home_kv_slider > ul > li.is-active {
  visibility: visible;
}
.p-home_kv_slider > div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.p-home_kv_slider > div:before, .p-home_kv_slider > div:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: white;
}
.p-home_kv_slider > div:before {
  opacity: 0.4;
}
.p-home_kv_slider > div:after {
  transform-origin: top center;
}
.p-home_kv_slider > div > span {
  position: absolute;
  bottom: 0;
  color: white;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  left: 50%;
  transform: translateX(-50%);
}
.p-home_kv_slider.is-active > div:after {
  transform-origin: top center;
  animation: kvPager linear 6.9s both;
}
@keyframes kvPager {
  0% {
    transform: scaleY(0);
  }
  100% {
    transform: scaleY(1);
  }
}
.p-home_kv {
  /* SP */
}
@media (max-width: 767px) {
  .p-home_kv_title {
    width: 49.6vw;
  }
  .p-home_kv_lead {
    bottom: 6.4vw;
    font-size: 3.7333333333vw;
  }
  .p-home_kv_slider > div {
    right: 8.8vw;
    width: 0.5333333333vw;
    height: 42.6666666667vw;
    border-radius: 0.5333333333vw;
  }
  .p-home_kv_slider > div:before, .p-home_kv_slider > div:after {
    height: 34.6666666667vw;
  }
  .p-home_kv_slider > div > span {
    font-size: 3.7333333333vw;
  }
}
.p-home_kv {
  /* PC */
}
@media (min-width: 768px) {
  .p-home_kv_title {
    width: 65.8857979502vw;
  }
  .p-home_kv_lead {
    bottom: 6.25vh;
    font-size: 1.4641288433vw;
  }
  .p-home_kv_slider > div {
    right: 5.270863836vw;
    width: 0.1464128843vw;
    height: 11.7130307467vw;
    border-radius: 0.1464128843vw;
  }
  .p-home_kv_slider > div:before, .p-home_kv_slider > div:after {
    height: 9.5168374817vw;
  }
  .p-home_kv_slider > div > span {
    font-size: 1.0248901903vw;
  }
}

/* -----------------------------------------------
* .p-home_projects
* ***
-------------------------------------------------- */
.p-home_projects {
  position: relative;
  background-color: white;
  z-index: 2;
  /*&:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: $c-bg;
    opacity: 0;
    transition: opacity .2s;
    will-change: opacity;
  }*/
}
.is-changebg .p-home_projects {
  background-color: transparent;
  /*&:before {
    //opacity: 1;
  }*/
}
.p-home_projects_list > ul > li {
  background-color: #201F27;
}
.p-home_projects_list > ul > li > a {
  display: block;
  position: relative;
  padding-top: 121.7%;
  overflow: hidden;
}
.p-home_projects_list > ul > li > a .inner {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  transform: translateY(-50%);
  z-index: 2;
}
.p-home_projects_list > ul > li > a .link {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.p-home_projects_list > ul > li > a .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /*> img {
    position: absolute;
  }
  &.vertical {
    > img {
      top: 50%;
      left: 0;
      transform: translateY(-50%);
    }
  }
  &.horizontal {
    > img {
      top: 0;
      left: 50%;
      width: auto;
      height: 100%;
      transform: translateX(-50%);
    }
  }*/
}
.p-home_projects_awards_subtitle {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-home_projects_awards_video {
  background-color: black !important;
}
.p-home_projects {
  /* SP */
}
@media (max-width: 767px) {
  .p-home_projects_inner {
    padding-top: 32.2666666667vw;
    padding-bottom: 30.4vw;
  }
  .p-home_projects_link {
    margin-top: 8.2666666667vw;
  }
  .p-home_projects_list > ul > li .inner {
    padding-top: 5.4666666667vh;
  }
  .p-home_projects_list > ul > li .title {
    font-size: 7.4666666667vw;
    line-height: 1.2857142857;
  }
  .p-home_projects_list > ul > li .link {
    margin-top: 1.8666666667vw;
    font-size: 3.7333333333vw;
  }
  .p-home_projects_awards {
    padding-top: 32vw;
    padding-bottom: 32vw;
  }
  .p-home_projects_awards_subtitle {
    margin-top: 29.6vw;
  }
  .p-home_projects_awards_video {
    margin-top: 11.2vw;
  }
}
.p-home_projects {
  /* PC */
}
@media (min-width: 768px) {
  .p-home_projects_wrap {
    display: flex;
    align-items: center;
    height: 100vh;
    padding-top: 9.5052083333vh;
  }
  .p-home_projects_link {
    margin-top: 4.9479166667vh;
  }
  .p-home_projects_list > ul {
    display: flex;
  }
  .p-home_projects_list > ul > li {
    flex: 1;
  }
  .p-home_projects_list > ul > li .inner {
    padding-top: 3.90625vh;
  }
  .p-home_projects_list > ul > li .title {
    font-size: 3.953147877vw;
    line-height: 1.2037037037;
  }
  .p-home_projects_list > ul > li .link {
    margin-top: 1.0248901903vw;
    font-size: 1.0248901903vw;
  }
  .p-home_projects_awards {
    padding-top: 18.0087847731vw;
    padding-bottom: 17.5695461201vw;
  }
  .p-home_projects_awards_subtitle {
    margin-top: 11.1273792094vw;
  }
  .p-home_projects_awards_video {
    margin-top: 4.2459736457vw;
  }
}

/* -----------------------------------------------
* .p-home_about
* ***
-------------------------------------------------- */
.p-home_about {
  position: relative;
  background-color: black;
}
.p-home_about_wrap {
  background: url(../img/home/about.jpg) 100% 50% no-repeat;
  background-size: cover;
  color: white;
}
.p-home_about_wrap:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.4;
}
.p-home_about_inner {
  position: relative;
}
.p-home_about {
  /* SP */
}
@media (max-width: 767px) {
  .p-home_about_wrap {
    padding-top: 34.1333333333vw;
    padding-bottom: 32vw;
  }
  .p-home_about_lead {
    margin-top: 5.3333333333vw;
    line-height: 1.5;
  }
  .p-home_about_link {
    margin-top: 8vw;
  }
}
.p-home_about {
  /* PC */
}
@media (min-width: 768px) {
  .p-home_about_wrap {
    display: flex;
    align-items: center;
    height: 100vh;
    background-image: url(../img/home/about@2x.jpg);
  }
  .p-home_about_lead {
    max-width: 32.5036603221vw;
    margin-top: 1.8301610542vw;
  }
  .p-home_about_link {
    margin-top: 2.7086383602vw;
  }
}

/* -----------------------------------------------
* .p-home_journal
* ***
-------------------------------------------------- */
.p-home_journal_link {
  text-align: center;
}
.p-home_journal {
  /* SP */
}
@media (max-width: 767px) {
  .p-home_journal {
    padding-top: 31.4666666667vw;
    padding-bottom: 30.4vw;
  }
  .p-home_journal_link {
    margin-top: 19.4666666667vw;
  }
}
.p-home_journal {
  /* PC */
}
@media (min-width: 768px) {
  .p-home_journal {
    padding-top: 17.4231332357vw;
    padding-bottom: 17.1303074671vw;
  }
  .p-home_journal_link {
    margin-top: 8.2723279649vw;
  }
}

/* -----------------------------------------------
* .p-home_kv
* ***
-------------------------------------------------- */
.p-home_kv {
  background: #201F27;
  /* SP */
}
.p-home_kv {
  /* PC */
}
/* -----------------------------------------------
* .p-home_kv
* ***
-------------------------------------------------- */
.p-home_kv {
  /* SP */
}
.p-home_kv {
  /* PC */
}
/* -----------------------------------------------
* projects Module
* projectsページ用
-------------------------------------------------- */
/* -----------------------------------------------
* .p-projects_list
* ***
-------------------------------------------------- */
@media (max-width: 767px) {
  .p-projects_title {
    padding-top: 42.6666666667vw;
  }
}
@media (min-width: 768px) {
  .p-projects_title {
    padding-top: 17.5695461201vw;
  }
}
@media (min-width: 768px) {
  .p-projects_title .m-hdglv3 {
    margin-bottom: 2.9282576867vw;
  }
}

.p-projects_categories > ul {
  display: flex;
  justify-content: flex-start;
}
.p-projects_categories > ul > li {
  flex-shrink: 0;
}
.p-projects_categories > ul > li > a {
  color: #201f27;
  opacity: 0.4;
  transition: opacity 1s;
  will-change: opacity;
}
.p-projects_categories > ul > li > a .mini {
  vertical-align: text-top;
}
.p-projects_categories > ul > li.is-current > a {
  opacity: 1;
}
@media (max-width: 767px) {
  .p-projects_categories > ul {
    overflow-x: scroll;
    gap: 5.3333333333vw;
    align-items: flex-start;
  }
  .p-projects_categories > ul > li {
    font-size: 3.2vw;
    line-height: 1.68;
  }
  .p-projects_categories > ul > li > a .mini {
    font-size: 1.6vw;
    margin-left: 0.8vw;
  }
  .p-projects_categories > ul > li > a br {
    display: block;
  }
}
@media (min-width: 768px) {
  .p-projects_categories > ul {
    flex-wrap: wrap;
    gap: 1.4641288433vw;
    align-items: center;
  }
  .p-projects_categories > ul > li {
    font-size: 1.1713030747vw;
  }
  .p-projects_categories > ul > li > a .mini {
    font-size: 0.6588579795vw;
    margin-left: 0.2196193265vw;
  }
  .p-projects_categories > ul > li > a br {
    display: none;
  }
}
.p-projects_categories.is-hover > ul > li > a {
  opacity: 0.2;
}
.p-projects_categories.is-hover > ul > li > a.is-hover {
  opacity: 1;
}

.p-projects_list > ul > li > a {
  display: block;
}
.p-projects_list > ul > li .role {
  line-height: 1.5714285714;
}
.p-projects_list > ul > li:nth-of-type(even) {
  margin-left: auto;
}
.p-projects_list {
  /* SP */
}
@media (max-width: 767px) {
  .p-projects_list {
    padding-bottom: 21.3333333333vw;
  }
  .p-projects_list > ul > li {
    width: 65.3333333333vw;
  }
  .p-projects_list > ul > li .title {
    margin-top: 6.4vw;
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
  .p-projects_list > ul > li .role {
    margin-top: 1.8666666667vw;
    font-size: 3.7333333333vw;
  }
  .p-projects_list > ul > li:nth-of-type(odd) {
    margin-left: 8vw;
  }
  .p-projects_list > ul > li:nth-of-type(even) {
    margin-right: 8vw;
  }
}
.p-projects_list {
  /* PC */
}
@media (min-width: 768px) {
  .p-projects_list {
    padding-bottom: 8.78477306vw;
  }
  .p-projects_list > ul > li .title {
    margin-top: 3.074670571vw;
    font-size: 2.3426061493vw;
    line-height: 1.25;
  }
  .p-projects_list > ul > li .role {
    margin-top: 0.6588579795vw;
    font-size: 1.0248901903vw;
  }
  .p-projects_list > ul > li.vertical.small, .p-projects_list > ul > li.vertical.middle {
    width: 25.7686676428vw;
  }
  .p-projects_list > ul > li.vertical.large, .p-projects_list > ul > li.horizontal.small {
    width: 32.5036603221vw;
  }
  .p-projects_list > ul > li.vertical.small .image {
    width: 19.0336749634vw;
  }
  .p-projects_list > ul > li.vertical.large .image {
    width: 42.6793557833vw;
  }
  .p-projects_list > ul > li.horizontal.middle {
    width: 39.2386530015vw;
  }
  .p-projects_list > ul > li.horizontal.large {
    width: 45.9736456808vw;
  }
  .p-projects_list > ul > li.horizontal.large .image {
    width: 56.149341142vw;
  }
  .p-projects_list > ul > li:nth-of-type(odd) {
    margin-left: 10.17vw;
  }
  .p-projects_list > ul > li:nth-of-type(odd).vertical.small {
    padding-left: 6.7349926794vw;
  }
  .p-projects_list > ul > li:nth-of-type(odd).vertical.large .image, .p-projects_list > ul > li:nth-of-type(odd).horizontal.large .image {
    margin-left: -10.1756954612vw;
  }
  .p-projects_list > ul > li:nth-of-type(even) {
    margin-right: 10.17vw;
  }
  .p-projects_list > ul > li:nth-of-type(even).vertical.small {
    padding-right: 6.7349926794vw;
  }
  .p-projects_list > ul > li:nth-of-type(even).vertical.large .image, .p-projects_list > ul > li:nth-of-type(even).horizontal.large .image {
    margin-right: -10.1756954612vw;
  }
}

/* -----------------------------------------------
* .p-projects_aboutus
* ***
-------------------------------------------------- */
.p-projects_aboutus_image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.24;
}
.p-projects_aboutus_title .ja {
  font-family: "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
.p-projects_aboutus {
  /* SP */
}
@media (max-width: 767px) {
  .p-projects_aboutus {
    padding-top: 51.7333333333vw;
  }
  .p-projects_aboutus_title {
    margin-right: -0.5em;
    /*.m-word+br.pc+.m-word {
      margin-left: 0;
    }*/
  }
  .p-projects_aboutus_link {
    margin-top: 8.2666666667vw;
  }
  .p-projects_aboutus_image {
    position: relative;
    margin-top: 30.4vw;
    margin-right: -8vw;
  }
}
.p-projects_aboutus {
  /* PC */
}
@media (min-width: 768px) {
  .p-projects_aboutus {
    position: relative;
    padding-top: 29.7218155198vw;
    overflow: hidden;
  }
  .p-projects_aboutus_inner {
    padding-bottom: 33.3821376281vw;
  }
  .p-projects_aboutus_link {
    margin-top: 2.7818448023vw;
  }
  .p-projects_aboutus_image {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 35.944363104vw;
  }
}

/* -----------------------------------------------
* .p-projects_overview
* ***
-------------------------------------------------- */
.p-projects_overview {
  position: relative;
  background-color: white;
  z-index: 10;
}
.p-projects_overview p {
  line-height: 2;
}
.p-projects_overview a {
  display: inline-flex;
  position: relative;
  line-height: 1.5;
  word-break: break-all;
  transition: opacity 1s;
  will-change: opacity;
}
.p-projects_overview a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: black;
  transition: opacity 0.8s 1s;
  will-change: opacity;
}
.no-touchevents .p-projects_overview a:hover {
  opacity: 0.5;
}
.p-projects_overview_link.js-visible > a:before {
  opacity: 0;
}
.p-projects_overview {
  /* SP */
}
@media (max-width: 767px) {
  .p-projects_overview {
    padding-top: 29.8666666667vw;
    padding-bottom: 32vw;
  }
  .p-projects_overview p {
    font-size: 4.2666666667vw;
  }
  .p-projects_overview_lead {
    margin-top: 27.7333333333vw;
  }
  .p-projects_overview_link {
    margin-top: 17.8666666667vw;
  }
}
.p-projects_overview {
  /* PC */
}
@media (min-width: 768px) {
  .p-projects_overview {
    padding-top: 12.5915080527vw;
    padding-bottom: 17.5695461201vw;
  }
  .p-projects_overview p {
    font-size: 1.1713030747vw;
  }
  .p-projects_overview_inner {
    display: flex;
    justify-content: space-between;
  }
  .p-projects_overview_role {
    width: 19.0336749634vw;
  }
  .p-projects_overview_lead {
    width: 52.7086383602vw;
  }
  .p-projects_overview_link {
    margin-top: 4.9780380673vw;
  }
}

/* -----------------------------------------------
* .p-projects_subtitle
* ***
-------------------------------------------------- */
.p-projects_subtitle {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  /* SP */
}
@media (max-width: 767px) {
  .p-projects_subtitle {
    margin-bottom: 2.6666666667vw;
    font-size: 3.7333333333vw;
    line-height: 2.2857142857;
  }
  .p-projects_subtitle:not(:nth-of-type(1)) {
    margin-top: 17.0666666667vw;
  }
}
.p-projects_subtitle {
  /* PC */
}
@media (min-width: 768px) {
  .p-projects_subtitle {
    margin-bottom: 0.7320644217vw;
    font-size: 1.0248901903vw;
    line-height: 2.2857142857;
  }
  .p-projects_subtitle:not(:nth-of-type(1)) {
    margin-top: 4.831625183vw;
  }
}

/* -----------------------------------------------
* .p-projects_detail
* ***
-------------------------------------------------- */
.p-projects_detail {
  position: relative;
  background-color: #f7f5f4;
  z-index: 10;
}
.p-projects_detail_image.large > div img {
  width: 100vw;
}
.p-projects_detail {
  /* SP */
}
@media (max-width: 767px) {
  .p-projects_detail {
    padding-top: 32vw;
  }
  .p-projects_detail_title {
    margin-bottom: 6.6666666667vw;
  }
  .p-projects_detail_title:not(:first-child) {
    margin-top: 33.3333333333vw;
  }
  .p-projects_detail_image > div {
    margin-top: 10.4vw;
  }
  .p-projects_detail_image.large {
    margin-left: -8vw;
    margin-right: -8vw;
  }
  .p-projects_detail_image + .p-projects_detail_image {
    margin-top: 8vw;
  }
}
.p-projects_detail {
  /* PC */
}
@media (min-width: 768px) {
  .p-projects_detail {
    padding-top: 13.3967789165vw;
  }
  .p-projects_detail_title:not(:first-child) {
    margin-top: 13.7628111274vw;
  }
  .p-projects_detail_image {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 5.1976573939vw;
  }
  .p-projects_detail_image.col1 > div:nth-of-type(n + 2), .p-projects_detail_image.col2 > div:nth-of-type(n + 3), .p-projects_detail_image.col3 > div:nth-of-type(n + 4) {
    margin-top: 8.78477306vw;
  }
  .p-projects_detail_image.col2 > div {
    width: 38.6530014641vw;
  }
  .p-projects_detail_image.col2 > div:nth-of-type(even) {
    transition-delay: 0.3s;
  }
  .p-projects_detail_image.col2 > div:nth-of-type(even) > img {
    transition-delay: 0.7s;
  }
  .p-projects_detail_image.col3:after {
    content: "";
    display: block;
    width: 25.0366032211vw;
    height: 0;
  }
  .p-projects_detail_image.col3 > div {
    width: 25.0366032211vw;
  }
  .p-projects_detail_image.col3 > div:nth-of-type(3n + 2) {
    transition-delay: 0.3s;
  }
  .p-projects_detail_image.col3 > div:nth-of-type(3n + 2) > img {
    transition-delay: 0.7s;
  }
  .p-projects_detail_image.col3 > div:nth-of-type(3n + 3) {
    transition-delay: 0.6s;
  }
  .p-projects_detail_image.col3 > div:nth-of-type(3n + 3) > img {
    transition-delay: 1s;
  }
  .p-projects_detail_image.large {
    margin-left: -10.17vw;
    margin-right: -10.17vw;
  }
  .p-projects_detail_image + .p-projects_detail_image {
    margin-top: 8.78477306vw;
  }
}

/* -----------------------------------------------
* .p-projects_information
* ***
-------------------------------------------------- */
.p-projects_information {
  position: relative;
  z-index: 10;
}
.p-projects_information p {
  line-height: 2;
}
.p-projects_information ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.p-projects_information ul > li {
  display: block;
  word-break: break-all;
  transition: opacity 1s;
  will-change: opacity;
  position: relative;
}
.p-projects_information ul > li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: black;
  transition: opacity 0.8s 1s;
  will-change: opacity;
}
.no-touchevents .p-projects_information ul > li:hover {
  opacity: 0.5;
}
.p-projects_information ul > li.js-visible:before {
  opacity: 0;
}
.p-projects_information {
  /* SP */
}
@media (max-width: 767px) {
  .p-projects_information {
    padding-top: 29.8666666667vw;
    padding-bottom: 29.8666666667vw;
  }
  .p-projects_information p {
    font-size: 4.2666666667vw;
  }
  .p-projects_information ul {
    gap: 4vw;
  }
  .p-projects_information ul > li {
    font-size: 4.2666666667vw;
  }
}
.p-projects_information {
  /* PC */
}
@media (min-width: 768px) {
  .p-projects_information {
    padding-top: 12.5915080527vw;
    padding-bottom: 16.9838945827vw;
  }
  .p-projects_information p {
    font-size: 1.1713030747vw;
  }
  .p-projects_information ul {
    gap: 1.4641288433vw;
  }
  .p-projects_information ul > li {
    font-size: 1.1713030747vw;
  }
}

/* -----------------------------------------------
* about Module
* aboutページ用
-------------------------------------------------- */
/* -----------------------------------------------
* .p-about_kv
* ***
-------------------------------------------------- */
.p-about_kv {
  position: relative;
}
.p-about_kv:before {
  display: none;
}
.p-about_kv_title {
  position: absolute;
  top: 50%;
  left: 50%;
}
.p-about_kv {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_kv_title {
    width: 53.3333333333vw;
    height: 53.3333333333vw;
    margin-top: -26.6666666667vw;
    margin-left: -26.6666666667vw;
  }
}
.p-about_kv {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_kv_title {
    width: 65.8857979502vw;
    height: 8.4187408492vw;
    margin-top: -4.2459736457vw;
    margin-left: -32.9428989751vw;
  }
}

/* -----------------------------------------------
* .p-about_overview
* ***
-------------------------------------------------- */
.p-about_overview {
  position: relative;
  z-index: 3;
  /* SP */
}
@media (max-width: 767px) {
  .p-about_overview {
    padding-top: 34.6666666667vw;
  }
  .p-about_overview_image {
    width: 91.7333333333vw;
    margin-top: 29.8666666667vw;
  }
}
.p-about_overview {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_overview {
    padding-top: 3.513909224vw;
  }
  .p-about_overview_title {
    width: 53.4407027818vw;
  }
  .p-about_overview_image {
    width: 89.8243045388vw;
    margin-top: 12.737920937vw;
  }
  .p-about_overview_lead {
    width: auto;
  }
}

/* -----------------------------------------------
* .p-about_whatwedo
* ***
-------------------------------------------------- */
.p-about_whatwedo {
  position: relative;
  z-index: 2;
}
.p-about_whatwedo:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f7f5f4;
}
.p-about_whatwedo_inner {
  position: relative;
}
.p-about_whatwedo {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_whatwedo {
    padding-top: 31.4666666667vw;
  }
  .p-about_whatwedo:before {
    top: -38.1333333333vw;
  }
  .p-about_whatwedo_image {
    display: flex;
    justify-content: space-between;
    margin-top: 19.2vw;
  }
  .p-about_whatwedo_image > div {
    width: 37.6vw;
    height: 54.4vw;
  }
  .p-about_whatwedo_image > div:nth-of-type(2) {
    margin-top: 15.4666666667vw;
  }
}
.p-about_whatwedo {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_whatwedo {
    padding-top: 13.0307467057vw;
  }
  .p-about_whatwedo:before {
    top: -37.4816983895vw;
  }
  .p-about_whatwedo_lead {
    width: auto;
  }
  .p-about_whatwedo_lead .en,
  .p-about_whatwedo_lead .ja {
    display: block;
  }
  .p-about_whatwedo_lead .en {
    width: 34.7730600293vw;
  }
  .p-about_whatwedo_lead .ja {
    width: 46.486090776vw;
  }
  .p-about_whatwedo_image {
    display: flex;
    justify-content: space-between;
    margin-top: 12.8111273792vw;
  }
  .p-about_whatwedo_image > div {
    width: 35.7247437775vw;
    height: 51.6837481698vw;
  }
  .p-about_whatwedo_image > div:nth-of-type(2) {
    margin-top: 14.6412884334vw;
  }
}

/* -----------------------------------------------
* .p-about_capabilities
* ***
-------------------------------------------------- */
.p-about_capabilities {
  position: relative;
  background-color: #f7f5f4;
  z-index: 2;
}
.p-about_capabilities_list > dl {
  will-change: opacity, border-color, background-color;
  transition: opacity 0.5s, background-color 0.5s, border-color 0.5s;
}
.p-about_capabilities_list > dl:first-child .inner {
  border-top: 1px solid #000;
}
.p-about_capabilities_list > dl:has(+ dl.is-open) .inner {
  border-bottom: none;
}
.p-about_capabilities_list > dl.is-open {
  background-color: white;
  will-change: opacity, border-color, background-color;
}
.p-about_capabilities_list > dl.is-open .inner {
  border: none;
}
.p-about_capabilities_list > dl.is-open .inner > dt:after {
  transform: rotate(45deg);
  transition: transform 0.7s;
  will-change: transform;
}
.p-about_capabilities_list > dl .inner {
  border-bottom: 1px solid #000;
  transition: opacity 1s;
  will-change: opacity;
}
.p-about_capabilities_list > dl .inner > dt {
  cursor: pointer;
  transition: opacity 1s;
  will-change: opacity;
  position: relative;
  display: grid;
  align-items: center;
  justify-content: space-between;
}
.p-about_capabilities_list > dl .inner > dt:after {
  content: "";
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' viewBox='0 0 36 36'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23000' d='M36 20.024q-.76-.095-2.473-.19-1.665-.047-3.614-.095l-3.805-.095h-6.34V25.3q0 1.617.047 3.471.048 1.902.143 3.852.047 1.95.19 3.377-.571-.095-1.094-.19a11.6 11.6 0 0 0-2.092 0q-.523.095-1.094.19.095-.76.19-2.473.047-1.665.095-3.614l.095-3.805v-6.463H9.844q-1.854.047-3.804.094t-3.614.095q-1.665.095-2.426.19.095-.57.19-1.093a11.6 11.6 0 0 0 0-2.093A76 76 0 0 1 0 15.744q1.426.143 3.33.19a162 162 0 0 0 7.322.191h5.596V9.844l-.095-3.805q-.047-1.95-.095-3.614Q15.963.76 15.868 0q.57.095 1.094.19a11.6 11.6 0 0 0 2.092 0A76 76 0 0 1 20.148 0a45 45 0 0 0-.19 3.33 162 162 0 0 0-.19 7.322v5.473H25.3q1.617 0 3.471-.048 1.902-.048 3.852-.142 1.95-.049 3.377-.19-.095.57-.19 1.093a11.6 11.6 0 0 0 0 2.093q.095.523.19 1.093'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h36v36H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  transition: transform 0.3s;
  will-change: transform;
}
.p-about_capabilities_list > dl .inner > dt.js-accordion-toggle {
  position: relative;
}
.p-about_capabilities_list > dl .inner > dd {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transform: translateZ(0);
  will-change: max-height, opacity, margin-top;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out, margin-top 0.5s ease-out;
}
.p-about_capabilities_list > dl .inner > dd.is-open {
  max-height: 5000px;
  opacity: 1;
}
.p-about_capabilities_list > dl .inner > dd > ul {
  display: flex;
  flex-direction: column;
}
.p-about_capabilities_list > dl .inner > dd > ul > li {
  position: relative;
}
.p-about_capabilities_list > dl .inner > dd > ul > li::before {
  content: "";
  position: relative;
  display: inline-block;
  background-color: #000;
  aspect-ratio: 1/1;
  border-radius: 50%;
  vertical-align: middle;
}
.p-about_capabilities_list > dl .inner > dd > dl {
  grid-column: 1/3;
}
.p-about_capabilities_list > dl .inner > dd > dl > dt {
  line-height: 1;
  letter-spacing: 0.016em;
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
.p-about_capabilities_list > dl .inner > dd > dl > dd {
  width: 100%;
}
.p-about_capabilities {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_capabilities_list {
    margin-top: 21.3333333333vw;
  }
  .p-about_capabilities_list > dl.is-open {
    padding-bottom: 8vw;
  }
  .p-about_capabilities_list > dl .inner {
    margin: 0 8vw;
  }
  .p-about_capabilities_list > dl .inner > dt {
    font-size: 6.9333333333vw;
    line-height: 1.5;
    letter-spacing: -0.01em;
    padding: 4.8vw 0;
    grid-template-columns: 1fr 6.4vw;
  }
  .p-about_capabilities_list > dl .inner > dd.is-open {
    margin-top: 6.6666666667vw;
  }
  .p-about_capabilities_list > dl .inner > dd > p {
    font-size: 4.2666666667vw;
    line-height: 1.58;
  }
  .p-about_capabilities_list > dl .inner > dd > ul {
    gap: 1.2445095168vw;
    margin-top: 8vw;
  }
  .p-about_capabilities_list > dl .inner > dd > ul > li {
    font-size: 3.2vw;
    line-height: 1.4;
  }
  .p-about_capabilities_list > dl .inner > dd > ul > li::before {
    width: 1.0666666667vw;
    margin-right: 1.3333333333vw;
  }
  .p-about_capabilities_list > dl .inner > dd > dl {
    margin-top: 17.3333333333vw;
  }
  .p-about_capabilities_list > dl .inner > dd > dl > dt {
    font-size: 3.7333333333vw;
    letter-spacing: 0.1em;
  }
  .p-about_capabilities_list > dl .inner > dd > dl > dd {
    margin-top: 6.4vw;
  }
}
.p-about_capabilities {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_capabilities_list {
    margin-top: 7.5402635432vw;
  }
  .p-about_capabilities_list > dl.is-open {
    padding-bottom: 4.39238653vw;
  }
  .p-about_capabilities_list > dl .inner {
    margin: 0 10.17vw;
  }
  .p-about_capabilities_list > dl .inner > dt {
    font-size: 3.953147877vw;
    line-height: 1;
    letter-spacing: -0.01em;
    padding: 3.6603221083vw 0;
    grid-template-columns: 1fr 2.635431918vw;
  }
  .p-about_capabilities_list > dl .inner > dd {
    display: grid;
    align-items: start;
    justify-content: space-between;
    grid-template-columns: 40.2635431918vw 25.6222547584vw;
  }
  .p-about_capabilities_list > dl .inner > dd.is-open {
    margin-top: 4.39238653vw;
  }
  .p-about_capabilities_list > dl .inner > dd > p {
    font-size: 1.317715959vw;
    line-height: 1.58;
  }
  .p-about_capabilities_list > dl .inner > dd > ul {
    gap: 1.2445095168vw;
  }
  .p-about_capabilities_list > dl .inner > dd > ul > li {
    font-size: 1.0248901903vw;
    line-height: 1.4;
    letter-spacing: -0.014em;
  }
  .p-about_capabilities_list > dl .inner > dd > ul > li::before {
    width: 0.2928257687vw;
    margin-right: 0.3660322108vw;
  }
  .p-about_capabilities_list > dl .inner > dd > dl {
    margin-top: 6.4421669107vw;
  }
  .p-about_capabilities_list > dl .inner > dd > dl > dt {
    font-size: 1.1713030747vw;
  }
  .p-about_capabilities_list > dl .inner > dd > dl > dd {
    margin-top: 3.3674963397vw;
  }
}

/* -----------------------------------------------
* .p-about_example-slider
* ***
-------------------------------------------------- */
.p-about_example-slider {
  position: relative;
}
.p-about_example-slider .js-slider-list-arrow {
  overflow: hidden;
}
.p-about_example-slider .item {
  aspect-ratio: 16/9;
  width: 100%;
  overflow: hidden;
}
.p-about_example-slider .item a {
  display: block;
}
.p-about_example-slider .item a img {
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
  object-fit: cover;
}
.p-about_example-slider_info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  bottom: 2.196193265vw;
  width: 100%;
  padding: 0 2.196193265vw;
}
.p-about_example-slider_counter {
  display: flex;
  align-items: center;
  font-size: 1.1713030747vw;
  mix-blend-mode: difference;
  color: white;
}
.p-about_example-slider_dots {
  display: flex;
  align-items: center;
  gap: 0.5856515373vw;
}
.p-about_example-slider_dot {
  width: 0.7320644217vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid white;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.3s;
  mix-blend-mode: difference;
}
.p-about_example-slider_dot:hover:not(.is-active) {
  background: white !important;
}
.p-about_example-slider_dot.is-active {
  background: white !important;
}
.p-about_example-slider_arrow {
  position: absolute;
  top: -5.1244509517vw;
  z-index: 10;
  border: 1px solid #000;
  width: 3.4407027818vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.3s;
  padding: 0;
  color: #000;
}
.p-about_example-slider_arrow:disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.p-about_example-slider_arrow svg {
  width: 1.3909224012vw;
  aspect-ratio: 19/8;
}
.p-about_example-slider_arrow-prev {
  right: 4.1727672035vw;
}
.p-about_example-slider_arrow-next {
  right: 0;
}
.p-about_example-slider {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_example-slider_info {
    bottom: 2.4vw;
    padding: 0 2.6666666667vw;
  }
  .p-about_example-slider_counter {
    font-size: 2.6666666667vw;
  }
  .p-about_example-slider_dots {
    gap: 2.1333333333vw;
  }
  .p-about_example-slider_dot {
    width: 2.1333333333vw;
  }
  .p-about_example-slider_arrow {
    top: -14.6666666667vw;
    width: 8vw;
  }
  .p-about_example-slider_arrow svg {
    width: 2.6666666667vw;
  }
  .p-about_example-slider_arrow-prev {
    right: 9.8666666667vw;
  }
}
.p-about_example-slider {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_example-slider_info {
    bottom: 2.196193265vw;
    padding: 0 2.196193265vw;
  }
  .p-about_example-slider_counter {
    font-size: 1.1713030747vw;
  }
  .p-about_example-slider_dots {
    gap: 0.5856515373vw;
  }
  .p-about_example-slider_dot {
    width: 0.7320644217vw;
  }
  .p-about_example-slider_arrow {
    top: -5.1244509517vw;
    width: 3.4407027818vw;
  }
  .p-about_example-slider_arrow svg {
    width: 1.3909224012vw;
  }
  .p-about_example-slider_arrow-prev {
    right: 4.1727672035vw;
  }
}

/* -----------------------------------------------
* .p-about_client
* ***
-------------------------------------------------- */
.p-about_client {
  position: relative;
  z-index: 2;
  background-color: #f7f5f4;
}
.p-about_client_inner > ul {
  display: grid;
}
.p-about_client_inner > ul > li img {
  height: 100%;
}
.p-about_client {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_client {
    padding-top: 33.3333333333vw;
    padding-bottom: 32vw;
  }
  .p-about_client_inner_title {
    font-size: 4.2666666667vw;
  }
  .p-about_client_inner > ul {
    margin-top: 6.6666666667vw;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6vw;
    position: relative;
  }
  .p-about_client_inner > ul > li.js-filler {
    display: block;
    background-color: white;
  }
}
.p-about_client {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_client {
    padding-top: 19.8389458272vw;
    padding-bottom: 13.17715959vw;
  }
  .p-about_client_inner_title {
    font-size: 1.1713030747vw;
  }
  .p-about_client_inner > ul {
    margin-top: 3.3674963397vw;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.1713030747vw;
    position: relative;
  }
  .p-about_client_inner > ul > li.js-filler {
    display: block;
    background-color: white;
  }
}

/* -----------------------------------------------
* .p-about_casestudy
* ***
-------------------------------------------------- */
.p-about_casestudy {
  position: relative;
  background-color: #f7f5f4;
  z-index: 2;
}
.p-about_casestudy_list {
  position: relative;
}
.p-about_casestudy_list > ul {
  position: relative;
  z-index: 2;
}
.p-about_casestudy_list > ul > li {
  position: relative;
}
.p-about_casestudy_list > ul > li:before, .p-about_casestudy_list > ul > li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: black;
  will-change: opacity, transform;
}
.p-about_casestudy_list > ul > li:before {
  background-color: black;
  transition: opacity 1.5s;
}
.p-about_casestudy_list > ul > li:after {
  opacity: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0) 20%, black 50%, rgba(0, 0, 0, 0) 80%) center no-repeat;
  background-size: 100% auto;
  transition: opacity 1.5s, background-size 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.p-about_casestudy_list > ul > li:before {
  opacity: 0.24;
}
.no-touchevents .p-about_casestudy_list > ul > li:hover:before {
  opacity: 0.5;
}
.no-touchevents .p-about_casestudy_list > ul > li:hover:after {
  opacity: 0.75;
  background-size: 250% auto;
}
.p-about_casestudy_list > ul > li:before {
  opacity: 0.1;
}
.no-touchevents .p-about_casestudy_list > ul > li:hover:before {
  opacity: 1;
}
.p-about_casestudy_list > ul > li > a {
  align-items: center;
  position: relative;
}
.p-about_casestudy_list > ul > li > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.p-about_casestudy_list > ul > li > a > p {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  transition: opacity 1s;
  will-change: opacity, transform;
}
.p-about_casestudy_list > ul > li > a > img {
  display: none;
}
.no-touchevents .p-about_casestudy_list > ul > li > a:before {
  opacity: 0.1;
}
.no-touchevents .p-about_casestudy_list > ul > li > a > h3 {
  transition: opacity 1s;
  will-change: opacity;
}
.no-touchevents .p-about_casestudy_list > ul > li > a:hover > p {
  opacity: 1;
}
.p-about_casestudy_list > ul > li.js-visible:before {
  opacity: 0;
}
.p-about_casestudy_list.is-hover > ul > li > a > h3 {
  opacity: 0.2;
}
.p-about_casestudy_list.is-hover > ul > li > a.is-hover > h3 {
  opacity: 1;
}
.p-about_casestudy {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_casestudy {
    padding-top: 29.6vw;
    padding-bottom: 32vw;
  }
  .p-about_casestudy_list {
    margin-top: -6.4vw;
  }
  .p-about_casestudy_list > ul > li > a {
    display: block;
    padding-top: 6.4vw;
    padding-bottom: 6.1333333333vw;
  }
  .p-about_casestudy_list > ul > li > a > h3 {
    font-size: 7.4666666667vw;
    line-height: 1.2857142857;
  }
  .p-about_casestudy_list > ul > li > a > p {
    display: block;
    margin-top: 3.4666666667vw;
    font-size: 3.2vw;
  }
}
.p-about_casestudy {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_casestudy {
    padding-top: 12.4450951684vw;
    padding-bottom: 13.17715959vw;
  }
  .p-about_casestudy_list {
    margin-top: -2.635431918vw;
  }
  .p-about_casestudy_list > ul > li > a {
    display: flex;
    min-height: 7.467057101vw;
    padding-top: 0.439238653vw;
  }
  .p-about_casestudy_list > ul > li > a > h3 {
    font-size: 2.3426061493vw;
    line-height: 1.5;
  }
  .p-about_casestudy_list > ul > li > a > p {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -0.5em;
    height: 1em;
    font-size: 1.0248901903vw;
    opacity: 0;
  }
}

/* -----------------------------------------------
* .p-about_awards
* ***
-------------------------------------------------- */
.p-about_awards {
  position: relative;
  z-index: 2;
}
.p-about_awards_list > ul > li {
  display: flex;
  flex-wrap: wrap;
  opacity: 0.1;
  transition: opacity 1s;
  will-change: opacity;
}
.p-about_awards_list > ul > li:hover {
  opacity: 1;
}
.p-about_awards {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_awards {
    padding-top: 31.4666666667vw;
    padding-bottom: 28.5333333333vw;
  }
  .p-about_awards_list {
    margin-top: -3.4666666667vw;
  }
  .p-about_awards_list > ul > li {
    padding-top: 3.2vw;
    padding-bottom: 2.9333333333vw;
  }
  .p-about_awards_list > ul > li > h3 {
    font-size: 7.4666666667vw;
    line-height: 1.2857142857;
  }
  .p-about_awards_list > ul > li > p {
    position: relative;
    top: -0.2em;
    margin-left: 0.1em;
    font-size: 4.2666666667vw;
  }
}
.p-about_awards {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_awards {
    padding-top: 14.1288433382vw;
    padding-bottom: 11.7130307467vw;
  }
  .p-about_awards_list {
    margin-top: -1.317715959vw;
  }
  .p-about_awards_list > ul > li {
    padding-top: 1.1713030747vw;
    padding-bottom: 1.1713030747vw;
  }
  .p-about_awards_list > ul > li > h3 {
    font-size: 3.513909224vw;
    line-height: 1.2083333333;
  }
  .p-about_awards_list > ul > li > p {
    margin-left: 0.2em;
    font-size: 1.1713030747vw;
  }
}

/* -----------------------------------------------
* .p-about_ourwork
* ***
-------------------------------------------------- */
.p-about_ourwork {
  position: relative;
  text-align: center;
  z-index: 2;
}
.p-about_ourwork_title {
  display: flex;
  justify-content: center;
}
.p-about_ourwork_image {
  background-color: black !important;
}
.p-about_ourwork_link {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.p-about_ourwork {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_ourwork {
    height: 121.6vw;
  }
  .p-about_ourwork_inner {
    padding-top: 8vh;
  }
  .p-about_ourwork_link {
    margin-top: 1.6vw;
  }
}
.p-about_ourwork {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_ourwork_inner {
    padding-top: 7.8125vh;
  }
  .p-about_ourwork_link {
    margin-top: 1.756954612vw;
  }
}

/* -----------------------------------------------
* .p-about_founder
* ***
-------------------------------------------------- */
.p-about_founder {
  position: relative;
  z-index: 2;
}
.p-about_founder_person > div {
  background-color: black !important;
}
.p-about_founder {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_founder {
    padding-top: 31.4666666667vw;
  }
  .p-about_founder_wrap {
    margin-top: -0.5333333333vw;
    width: 78.4vw;
    overflow: visible !important;
  }
  .p-about_founder_wrap > [style]:after {
    content: " ";
    display: block;
    clear: both;
  }
  .p-about_founder_person {
    padding-right: 8vw;
  }
  .p-about_founder_person > h3 {
    margin-top: 8vw;
    font-size: 5.3333333333vw;
  }
  .p-about_founder_person > p {
    margin-top: 0.2666666667vw;
    font-size: 3.7333333333vw;
  }
  .p-about_founder_person + .p-about_founder_person {
    margin-top: 13.0666666667vw;
  }
  .p-about_founder_lead {
    margin-top: 18.4vw;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}
.p-about_founder {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_founder {
    padding-top: 13.0307467057vw;
  }
  .p-about_founder_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: -0.439238653vw;
    flex-wrap: wrap;
    row-gap: 3.6603221083vw;
    width: 100%;
  }
  .p-about_founder_introduce {
    display: flex;
    justify-content: space-between;
    width: 39.2386530015vw;
  }
  .p-about_founder_person {
    width: 24.8901903367vw;
  }
  .p-about_founder_person:nth-child(n+4) {
    padding-bottom: 0vw;
  }
  .p-about_founder_person > h3 {
    margin-top: 2.3426061493vw;
    font-size: 1.4641288433vw;
  }
  .p-about_founder_person > p {
    font-size: 1.0248901903vw;
  }
  .p-about_founder_lead {
    width: 32.5036603221vw;
    margin-top: -0.3660322108vw;
    font-size: 1.4641288433vw;
    line-height: 1.6;
  }
}

/* -----------------------------------------------
* .p-about_team
* ***
-------------------------------------------------- */
.p-about_team {
  position: relative;
  z-index: 2;
}
.p-about_team_list {
  position: relative;
}
.p-about_team_list > ul {
  position: relative;
  z-index: 2;
}
.p-about_team_list > ul > li {
  position: relative;
}
.p-about_team_list > ul > li:before, .p-about_team_list > ul > li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: white;
  will-change: opacity, transform;
}
.p-about_team_list > ul > li:before {
  background-color: white;
  transition: opacity 1.5s;
}
.p-about_team_list > ul > li:after {
  opacity: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 20%, white 50%, rgba(255, 255, 255, 0) 80%) center no-repeat;
  background-size: 100% auto;
  transition: opacity 1.5s, background-size 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.p-about_team_list > ul > li:before {
  opacity: 0.24;
}
.no-touchevents .p-about_team_list > ul > li:hover:before {
  opacity: 0.5;
}
.no-touchevents .p-about_team_list > ul > li:hover:after {
  opacity: 0.75;
  background-size: 250% auto;
}
.p-about_team_list > ul > li:before {
  opacity: 0;
}
.p-about_team_list > ul > li > a,
.p-about_team_list > ul > li > div {
  display: block;
  position: relative;
}
.p-about_team_list > ul > li > a:before,
.p-about_team_list > ul > li > div:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.p-about_team_list > ul > li > a > p,
.p-about_team_list > ul > li > a > div,
.p-about_team_list > ul > li > div > p,
.p-about_team_list > ul > li > div > div {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  line-height: 1.4285714286;
}
.p-about_team_list > ul > li > a > div,
.p-about_team_list > ul > li > div > div {
  transition: opacity 1s;
  will-change: opacity, transform;
}
.p-about_team_list > ul > li > a > img,
.p-about_team_list > ul > li > div > img {
  display: none;
}
.no-touchevents .p-about_team_list > ul > li > a > h3,
.no-touchevents .p-about_team_list > ul > li > a > p,
.no-touchevents .p-about_team_list > ul > li > div > h3,
.no-touchevents .p-about_team_list > ul > li > div > p {
  transition: opacity 1s;
  will-change: opacity;
}
.no-touchevents .p-about_team_list > ul > li > a:hover > div,
.no-touchevents .p-about_team_list > ul > li > div:hover > div {
  opacity: 1;
}
.p-about_team_list.is-hover > ul > li > a > h3,
.p-about_team_list.is-hover > ul > li > a > p,
.p-about_team_list.is-hover > ul > li > div > h3,
.p-about_team_list.is-hover > ul > li > div > p {
  opacity: 0.2;
}
.p-about_team_list.is-hover > ul > li > a.is-hover > h3,
.p-about_team_list.is-hover > ul > li > a.is-hover > p,
.p-about_team_list.is-hover > ul > li > div.is-hover > h3,
.p-about_team_list.is-hover > ul > li > div.is-hover > p {
  opacity: 1;
}
.p-about_team {
  /* SP */
}
@media (max-width: 767px) {
  .p-about_team {
    padding-top: 28.8vw;
    padding-bottom: 30.4vw;
  }
  .p-about_team_list {
    margin-top: -6.1333333333vw;
  }
  .p-about_team_list > ul > li > a,
  .p-about_team_list > ul > li > div {
    padding-top: 6.1333333333vw;
    padding-bottom: 6.1333333333vw;
  }
  .p-about_team_list > ul > li > a > h3,
  .p-about_team_list > ul > li > div > h3 {
    margin-right: -0.5em;
    font-size: 7.4666666667vw;
    line-height: 1.2857142857;
  }
  .p-about_team_list > ul > li > a > p,
  .p-about_team_list > ul > li > div > p {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
  .p-about_team_list > ul > li > a > div,
  .p-about_team_list > ul > li > div > div {
    display: block;
    margin-top: 1.8666666667vw;
    font-size: 3.2vw;
  }
  .p-about_team_lead {
    margin-top: 17.6vw;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
  .p-about_team_image {
    margin-top: 21.3333333333vw;
  }
  .p-about_team_workwithus {
    margin-top: 21.3333333333vw;
  }
  .p-about_team_workwithus_title .ja {
    display: block;
    margin-right: -0.5em;
    font-size: 6.9333333333vw;
  }
  .p-about_team_workwithus_link {
    margin-top: 8.2666666667vw;
  }
}
.p-about_team {
  /* PC */
}
@media (min-width: 768px) {
  .p-about_team {
    padding-top: 13.3967789165vw;
    padding-bottom: 12.737920937vw;
  }
  .p-about_team_list {
    margin-top: -1.9033674963vw;
  }
  .p-about_team_list > ul > li > a,
  .p-about_team_list > ul > li > div {
    padding-top: 1.9033674963vw;
    padding-bottom: 1.8301610542vw;
  }
  .p-about_team_list > ul > li > a > h3,
  .p-about_team_list > ul > li > div > h3 {
    font-size: 3.513909224vw;
    line-height: 1.2083333333;
  }
  .p-about_team_list > ul > li > a > p,
  .p-about_team_list > ul > li > div > p {
    font-size: 1.0248901903vw;
  }
  .p-about_team_list > ul > li > a > div,
  .p-about_team_list > ul > li > div > div {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -0.5em;
    height: 1em;
    opacity: 0;
  }
  .p-about_team_lead {
    width: 45.9736456808vw;
    margin-top: 10.7613469985vw;
    font-size: 1.4641288433vw;
    line-height: 1.6;
  }
  .p-about_team_image {
    margin-top: 13.17715959vw;
  }
  .p-about_team_workwithus {
    margin-top: 13.2503660322vw;
  }
  .p-about_team_workwithus_link {
    margin-top: 2.7086383602vw;
  }
}

/* -----------------------------------------------
* journal Module
* journalページ用
-------------------------------------------------- */
/* -----------------------------------------------
* .p-journal_list
* ***
-------------------------------------------------- */
.p-journal_list_loadmore {
  text-align: center;
}
.p-journal_list {
  /* SP */
}
@media (max-width: 767px) {
  .p-journal_list {
    padding-top: 31.4666666667vw;
    padding-bottom: 31.2vw;
  }
  .p-journal_list_title {
    margin-bottom: 10.9333333333vw;
  }
  .p-journal_list_loadmore {
    margin-top: 20.8vw;
  }
}
.p-journal_list {
  /* PC */
}
@media (min-width: 768px) {
  .p-journal_list {
    padding-top: 17.4231332357vw;
    padding-bottom: 17.3499267936vw;
  }
  .p-journal_list_loadmore {
    margin-top: 8.6383601757vw;
  }
}

/* -----------------------------------------------
* contact Module
* contactページ用
-------------------------------------------------- */
/* -----------------------------------------------
* .p-contact_office
* ***
-------------------------------------------------- */
.p-contact_office_title {
  line-height: 1.2083333333;
}
.p-contact_office_address {
  line-height: 2;
}
.p-contact_office {
  /* SP */
}
@media (max-width: 767px) {
  .p-contact_office {
    margin-top: 31.4666666667vw;
    padding-bottom: 32vw;
  }
  .p-contact_office_title {
    font-size: 8.5333333333vw;
  }
  .p-contact_office_address {
    margin-top: 6.6666666667vw;
    font-size: 4.2666666667vw;
  }
  .p-contact_office_maps {
    margin-top: 13.3333333333vw;
  }
  .p-contact_office_image {
    margin-top: 19.4666666667vw;
  }
}
.p-contact_office {
  /* PC */
}
@media (min-width: 768px) {
  .p-contact_office {
    position: relative;
    min-height: 51.6837481698vw;
    margin-top: 17.5695461201vw;
  }
  .p-contact_office_subtitle {
    position: relative;
    top: -0.1464128843vw;
  }
  .p-contact_office_title {
    margin-top: -0.1464128843vw;
    font-size: 5.270863836vw;
  }
  .p-contact_office_address {
    margin-top: 2.635431918vw;
    font-size: 1.1713030747vw;
  }
  .p-contact_office_maps {
    margin-top: 4.831625183vw;
  }
  .p-contact_office_image {
    position: absolute;
    top: 0;
    right: 10.17vw;
    width: 35.7247437775vw;
  }
}

/* -----------------------------------------------
* .p-contact_form
* ***
-------------------------------------------------- */
.p-contact_form {
  position: relative;
  background-color: #201F27;
}
.p-contact_form:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: url(../img/contact/bg.jpg) left top no-repeat;
  background-size: cover;
}
.p-contact_form_inner {
  position: relative;
  background-color: white;
  z-index: 2;
}
.p-contact_form {
  /* SP */
}
@media (max-width: 767px) {
  .p-contact_form {
    padding-top: 37.6vw;
    padding-bottom: 32vw;
  }
  .p-contact_form_inner {
    padding-top: 21.3333333333vw;
    padding-bottom: 32vw;
  }
}
.p-contact_form {
  /* PC */
}
@media (min-width: 768px) {
  .p-contact_form {
    margin-top: 17.5695461201vw;
    padding: 13.17715959vw 10.17vw;
  }
  .p-contact_form_inner {
    padding: 7.027818448vw 6.588579795vw 8.78477306vw;
  }
}

/* -----------------------------------------------
* careers Module
* careersページ用
-------------------------------------------------- */
/* -----------------------------------------------
* .p-careers_inner
* ***
-------------------------------------------------- */
.p-careers_inner {
  /* SP */
}
@media (max-width: 767px) {
  .p-careers_inner {
    padding-top: 46.9333333333vw;
  }
}
.p-careers_inner {
  /* PC */
}
@media (min-width: 768px) {
  .p-careers_inner {
    padding-top: 19.0336749634vw;
  }
}

/* -----------------------------------------------
* .p-careers_title
* ***
-------------------------------------------------- */
.p-careers_title {
  /* SP */
}
.p-careers_title {
  /* PC */
}
/* -----------------------------------------------
* .p-careers_lead
* ***
-------------------------------------------------- */
.p-careers_lead {
  /* SP */
}
@media (max-width: 767px) {
  .p-careers_lead {
    margin-top: 7.2vw;
  }
}
.p-careers_lead {
  /* PC */
}
@media (min-width: 768px) {
  .p-careers_lead {
    margin-top: 3.2210834553vw;
  }
}

/* -----------------------------------------------
* .p-careers_image
* ***
-------------------------------------------------- */
.p-careers_image {
  /* SP */
}
@media (max-width: 767px) {
  .p-careers_image {
    width: 92.2666666667vw;
    margin-top: 30.1333333333vw;
  }
}
.p-careers_image {
  /* PC */
}
@media (min-width: 768px) {
  .p-careers_image {
    width: 89.8243045388vw;
    margin-top: 12.737920937vw;
  }
}

/* -----------------------------------------------
* .p-careers_positions
* ***
-------------------------------------------------- */
.p-careers_positions_list {
  position: relative;
}
.p-careers_positions_list > li {
  position: relative;
}
.p-careers_positions_list > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #0E0E0E;
  opacity: 0;
  transition: opacity 1.5s;
}
.p-careers_positions_list > li:first-child::before, .p-careers_positions_list > li.is-active + li::before {
  opacity: 0.1;
}
.p-careers_positions_list > li.js-visible::before {
  opacity: 0;
}
.p-careers_positions_list > li.is-active:last-child::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #0E0E0E;
  opacity: 0.1;
}
.p-careers_positions_list_title {
  display: flex;
  position: relative;
  cursor: pointer;
}
.p-careers_positions_list_title:before, .p-careers_positions_list_title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #0E0E0E;
  will-change: opacity, transform;
}
.p-careers_positions_list_title:before {
  background-color: #0E0E0E;
  transition: opacity 1.5s;
}
.p-careers_positions_list_title:after {
  opacity: 0;
  background: linear-gradient(to right, rgba(14, 14, 14, 0) 20%, #0E0E0E 50%, rgba(14, 14, 14, 0) 80%) center no-repeat;
  background-size: 100% auto;
  transition: opacity 1.5s, background-size 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.p-careers_positions_list_title:before {
  opacity: 0.24;
}
.no-touchevents .p-careers_positions_list_title:hover:before {
  opacity: 0.5;
}
.no-touchevents .p-careers_positions_list_title:hover:after {
  opacity: 0.75;
  background-size: 250% auto;
}
.p-careers_positions_list_title:before {
  opacity: 0.1;
}
.no-touchevents .p-careers_positions_list_title:hover:before {
  opacity: 1;
}
.p-careers_positions_list_title > p {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  transition: opacity 1s;
  will-change: opacity, transform;
}
.p-careers_positions_list_title > p::before {
  content: "View details";
}
.p-careers_positions_list_title.is-active > p::before {
  content: "CLOSE";
}
.js-visible .p-careers_positions_list_title::before {
  opacity: 0;
}
.p-careers_positions_list_body {
  display: none;
}
.p-careers_positions_list_body > dl > dt {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.p-careers_positions_list_body > dl > dd > ul > li {
  position: relative;
}
.p-careers_positions_list_body > dl > dd > ul > li::before {
  position: absolute;
  left: 0;
  border-radius: 50%;
  background-color: #000;
  content: "";
}
.p-careers_positions {
  /* SP */
}
@media (max-width: 767px) {
  .p-careers_positions {
    margin-top: 30.9333333333vw;
    padding-bottom: 32vw;
  }
  .p-careers_positions_list {
    margin-top: 16vw;
  }
  .p-careers_positions_list_title {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 7.4666666667vw;
    padding-bottom: 8vw;
  }
  .p-careers_positions_list_title > h3 {
    font-size: 6.4vw;
  }
  .p-careers_positions_list_title > p {
    font-size: 3.2vw;
    letter-spacing: 0.1em;
  }
  .p-careers_positions_list_title > div {
    width: 100%;
    margin-top: 6.4vw;
  }
  .p-careers_positions_list_title.is-active::before, .p-careers_positions_list_title.is-active::after {
    opacity: 0 !important;
  }
  .p-careers_positions_list_body {
    padding-bottom: 21.3333333333vw;
  }
  .p-careers_positions_list_body > dl {
    padding-top: 5.0666666667vw;
  }
  .p-careers_positions_list_body > dl > dt {
    width: 98.1333333333vw;
    font-size: 3.7333333333vw;
  }
  .p-careers_positions_list_body > dl > dd {
    padding-top: 5.3333333333vw;
  }
  .p-careers_positions_list_body > dl > dd > p {
    font-size: 4.2666666667vw;
    line-height: 1.75;
  }
  .p-careers_positions_list_body > dl > dd > ul > li {
    padding-left: 4.2666666667vw;
    font-size: 4.2666666667vw;
    line-height: 1.75;
  }
  .p-careers_positions_list_body > dl > dd > ul > li::before {
    top: 2.6666666667vw;
    width: 1.6vw;
    height: 1.6vw;
  }
  .p-careers_positions_list_body > dl > dd > ul > li + li {
    margin-top: 5.3333333333vw;
  }
  .p-careers_positions_list_body > dl + dl {
    padding-top: 18.1333333333vw;
  }
  .p-careers_positions_list_body > div {
    margin-top: 19.7333333333vw;
  }
}
.p-careers_positions {
  /* PC */
}
@media (min-width: 768px) {
  .p-careers_positions {
    margin-top: 12.9575402635vw;
    padding-bottom: 13.17715959vw;
  }
  .p-careers_positions_list {
    margin-top: 5.4904831625vw;
  }
  .p-careers_positions_list_title {
    align-items: center;
  }
  .p-careers_positions_list_title > h3 {
    flex: 1;
    font-size: 2.3426061493vw;
  }
  .p-careers_positions_list_title > p {
    margin-right: 3.7335285505vw;
    font-size: 1.0248901903vw;
    letter-spacing: 0.1em;
  }
  .p-careers_positions_list_title > div {
    width: 19.0336749634vw;
  }
  .p-careers_positions_list_body {
    padding-bottom: 5.8565153734vw;
  }
  .p-careers_positions_list_body > dl {
    display: flex;
    padding-top: 5.4904831625vw;
  }
  .p-careers_positions_list_body > dl > dt {
    width: 26.9399707174vw;
    font-size: 1.0248901903vw;
  }
  .p-careers_positions_list_body > dl > dd {
    width: 45.9736456808vw;
  }
  .p-careers_positions_list_body > dl > dd > p {
    margin-top: -0.1464128843vw;
    font-size: 1.1713030747vw;
    line-height: 1.75;
  }
  .p-careers_positions_list_body > dl > dd > ul > li {
    padding-left: 1.1713030747vw;
    font-size: 1.1713030747vw;
    line-height: 1.75;
  }
  .p-careers_positions_list_body > dl > dd > ul > li::before {
    top: 0.7320644217vw;
    width: 0.439238653vw;
    height: 0.439238653vw;
  }
  .p-careers_positions_list_body > dl > dd > ul > li + li {
    margin-top: 2.0497803807vw;
  }
  .p-careers_positions_list_body > dl + dl {
    padding-top: 4.9780380673vw;
  }
  .p-careers_positions_list_body > div {
    margin-top: 4.9780380673vw;
    margin-left: 26.9399707174vw;
  }
}

/* -----------------------------------------------
* companies Module
* companiesページ用
-------------------------------------------------- */
.p-companies_wrap {
  background-color: #f7f5f4;
}

/* -----------------------------------------------
* .p-companies_inner
* ***
-------------------------------------------------- */
.p-companies_inner {
  /* SP */
}
@media (max-width: 767px) {
  .p-companies_inner {
    padding-top: 46.9333333333vw;
  }
}
.p-companies_inner {
  /* PC */
}
@media (min-width: 768px) {
  .p-companies_inner {
    padding-top: 19.0336749634vw;
  }
}

/* -----------------------------------------------
* .p-companies_title
* ***
-------------------------------------------------- */
.p-companies_title {
  /* SP */
}
.p-companies_title {
  /* PC */
}
/* -----------------------------------------------
* .p-companies_lead
* ***
-------------------------------------------------- */
.p-companies_lead {
  /* SP */
}
@media (max-width: 767px) {
  .p-companies_lead {
    margin-top: 7.2vw;
  }
}
.p-companies_lead {
  /* PC */
}
@media (min-width: 768px) {
  .p-companies_lead {
    margin-top: 3.2210834553vw;
  }
}

/* -----------------------------------------------
* .p-companies_image
* ***
-------------------------------------------------- */
.p-companies_image {
  /* SP */
}
@media (max-width: 767px) {
  .p-companies_image {
    width: 92.2666666667vw;
    margin-top: 30.1333333333vw;
  }
}
.p-companies_image {
  /* PC */
}
@media (min-width: 768px) {
  .p-companies_image {
    width: 89.8243045388vw;
    margin-top: 12.737920937vw;
  }
}

/* -----------------------------------------------
* .p-companies_positions
* ***
-------------------------------------------------- */
.p-companies_positions_list {
  position: relative;
}
.p-companies_positions_list > li {
  position: relative;
}
.p-companies_positions_list > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #0E0E0E;
  opacity: 0;
  transition: opacity 1.5s;
}
.p-companies_positions_list > li:first-child::before, .p-companies_positions_list > li.is-active + li::before {
  opacity: 0.1;
}
.p-companies_positions_list > li.js-visible::before {
  opacity: 0;
}
.p-companies_positions_list > li.is-active:last-child::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #0E0E0E;
  opacity: 0.1;
}
.p-companies_positions_list_title {
  display: flex;
  position: relative;
  cursor: pointer;
}
.p-companies_positions_list_title:before, .p-companies_positions_list_title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #0E0E0E;
  will-change: opacity, transform;
}
.p-companies_positions_list_title:before {
  background-color: #0E0E0E;
  transition: opacity 1.5s;
}
.p-companies_positions_list_title:after {
  opacity: 0;
  background: linear-gradient(to right, rgba(14, 14, 14, 0) 20%, #0E0E0E 50%, rgba(14, 14, 14, 0) 80%) center no-repeat;
  background-size: 100% auto;
  transition: opacity 1.5s, background-size 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.p-companies_positions_list_title:before {
  opacity: 0.24;
}
.no-touchevents .p-companies_positions_list_title:hover:before {
  opacity: 0.5;
}
.no-touchevents .p-companies_positions_list_title:hover:after {
  opacity: 0.75;
  background-size: 250% auto;
}
.p-companies_positions_list_title:before {
  opacity: 0.1;
}
.no-touchevents .p-companies_positions_list_title:hover:before {
  opacity: 1;
}
.p-companies_positions_list_title > p {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
  transition: opacity 1s;
  will-change: opacity, transform;
}
.p-companies_positions_list_title > p::before {
  content: "View details";
}
.p-companies_positions_list_title.is-active > p::before {
  content: "CLOSE";
}
.js-visible .p-companies_positions_list_title::before {
  opacity: 0;
}
.p-companies_positions_list_body {
  display: none;
}
.p-companies_positions_list_body > dl > dt {
  font-family: NeueHelvetica, "optima-lt-pro", Belleza, "A+EqpB-游ゴシック体 Pr6N M", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.1em;
}
.p-companies_positions_list_body > dl > dd > ul > li {
  position: relative;
}
.p-companies_positions_list_body > dl > dd > ul > li::before {
  position: absolute;
  left: 0;
  border-radius: 50%;
  background-color: #000;
  content: "";
}
.p-companies_positions {
  /* SP */
}
@media (max-width: 767px) {
  .p-companies_positions {
    margin-top: 30.9333333333vw;
    padding-bottom: 32vw;
  }
  .p-companies_positions_list {
    margin-top: 16vw;
  }
  .p-companies_positions_list_title {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 7.4666666667vw;
    padding-bottom: 8vw;
  }
  .p-companies_positions_list_title > h3 {
    font-size: 6.4vw;
  }
  .p-companies_positions_list_title > p {
    font-size: 3.2vw;
    letter-spacing: 0.1em;
  }
  .p-companies_positions_list_title > div {
    width: 100%;
    margin-top: 6.4vw;
  }
  .p-companies_positions_list_title.is-active::before, .p-companies_positions_list_title.is-active::after {
    opacity: 0 !important;
  }
  .p-companies_positions_list_body {
    padding-bottom: 21.3333333333vw;
  }
  .p-companies_positions_list_body > dl {
    padding-top: 5.0666666667vw;
  }
  .p-companies_positions_list_body > dl > dt {
    width: 98.1333333333vw;
    font-size: 3.7333333333vw;
  }
  .p-companies_positions_list_body > dl > dd {
    padding-top: 5.3333333333vw;
  }
  .p-companies_positions_list_body > dl > dd > p {
    font-size: 4.2666666667vw;
    line-height: 1.75;
  }
  .p-companies_positions_list_body > dl > dd > ul > li {
    padding-left: 4.2666666667vw;
    font-size: 4.2666666667vw;
    line-height: 1.75;
  }
  .p-companies_positions_list_body > dl > dd > ul > li::before {
    top: 2.6666666667vw;
    width: 1.6vw;
    height: 1.6vw;
  }
  .p-companies_positions_list_body > dl > dd > ul > li + li {
    margin-top: 5.3333333333vw;
  }
  .p-companies_positions_list_body > dl + dl {
    padding-top: 18.1333333333vw;
  }
  .p-companies_positions_list_body > div {
    margin-top: 19.7333333333vw;
  }
}
.p-companies_positions {
  /* PC */
}
@media (min-width: 768px) {
  .p-companies_positions {
    margin-top: 12.9575402635vw;
    padding-bottom: 13.17715959vw;
  }
  .p-companies_positions_list {
    margin-top: 5.4904831625vw;
  }
  .p-companies_positions_list_title {
    align-items: center;
  }
  .p-companies_positions_list_title > h3 {
    flex: 1;
    font-size: 2.3426061493vw;
  }
  .p-companies_positions_list_title > p {
    margin-right: 3.7335285505vw;
    font-size: 1.0248901903vw;
    letter-spacing: 0.1em;
  }
  .p-companies_positions_list_title > div {
    width: 19.0336749634vw;
  }
  .p-companies_positions_list_body {
    padding-bottom: 5.8565153734vw;
  }
  .p-companies_positions_list_body > dl {
    display: flex;
    padding-top: 5.4904831625vw;
  }
  .p-companies_positions_list_body > dl > dt {
    width: 26.9399707174vw;
    font-size: 1.0248901903vw;
  }
  .p-companies_positions_list_body > dl > dd {
    width: 45.9736456808vw;
  }
  .p-companies_positions_list_body > dl > dd > p {
    margin-top: -0.1464128843vw;
    font-size: 1.1713030747vw;
    line-height: 1.75;
  }
  .p-companies_positions_list_body > dl > dd > ul > li {
    padding-left: 1.1713030747vw;
    font-size: 1.1713030747vw;
    line-height: 1.75;
  }
  .p-companies_positions_list_body > dl > dd > ul > li::before {
    top: 0.7320644217vw;
    width: 0.439238653vw;
    height: 0.439238653vw;
  }
  .p-companies_positions_list_body > dl > dd > ul > li + li {
    margin-top: 2.0497803807vw;
  }
  .p-companies_positions_list_body > dl + dl {
    padding-top: 4.9780380673vw;
  }
  .p-companies_positions_list_body > div {
    margin-top: 4.9780380673vw;
    margin-left: 26.9399707174vw;
  }
}

/* -----------------------------------------------
* .p-companies_ourcompanies
* ***
-------------------------------------------------- */
.p-companies_ourcompanies {
  position: relative;
  z-index: 2;
}
.p-companies_ourcompanies_item {
  position: relative;
}
.p-companies_ourcompanies_item > div {
  background-color: black !important;
}
.p-companies_ourcompanies a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.p-companies_ourcompanies {
  /* SP */
}
@media (max-width: 767px) {
  .p-companies_ourcompanies {
    padding-top: 28.8vw;
    padding-bottom: 30.4vw;
  }
  .p-companies_ourcompanies_wrap {
    margin-top: 16vw;
  }
  .p-companies_ourcompanies_item > h3 {
    margin-top: 8vw;
    font-size: 3.7333333333vw;
  }
  .p-companies_ourcompanies_item > p {
    margin-top: 0.2666666667vw;
    font-size: 5.3333333333vw;
  }
  .p-companies_ourcompanies_item + .p-companies_ourcompanies_item {
    margin-top: 13.0666666667vw;
  }
}
.p-companies_ourcompanies {
  /* PC */
}
@media (min-width: 768px) {
  .p-companies_ourcompanies {
    padding-top: 13.3967789165vw;
    padding-bottom: 12.737920937vw;
  }
  .p-companies_ourcompanies_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 5.8565153734vw;
    flex-wrap: wrap;
    row-gap: 3.6603221083vw;
    width: 100%;
  }
  .p-companies_ourcompanies_item {
    width: 35.7247437775vw;
  }
  .p-companies_ourcompanies_item > h3 {
    margin-top: 2.3426061493vw;
    font-size: 1.0248901903vw;
  }
  .p-companies_ourcompanies_item > p {
    font-size: 1.4641288433vw;
  }
}

/* -----------------------------------------------
* 404error Module
* 404errorページ用
-------------------------------------------------- */
.p-error {
  background-color: #f7f5f4;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  height: 100dvh;
}

/* -----------------------------------------------
* .p-error_inner
* ***
-------------------------------------------------- */
.p-error_inner .m-form_btn {
  max-width: 750px;
  margin: 0 auto;
}

/* -----------------------------------------------
* .p-error_title
* ***
-------------------------------------------------- */
.p-error_title {
  text-align: center;
  /* SP */
}
@media (max-width: 767px) {
  .p-error_title {
    margin-bottom: 13.3333333333vw;
    font-size: 7.4666666667vw;
    line-height: 1.2857142857;
  }
}
.p-error_title {
  /* PC */
}
@media (min-width: 768px) {
  .p-error_title {
    margin-bottom: 5.8565153734vw;
    font-size: 2.3426061493vw;
    line-height: 1.5;
  }
}/*# sourceMappingURL=common.css.map */