@charset "UTF-8";

/* ========================================
	Founfation (id推奨)
========================================= */

html {
  font-size: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar {
  display: none;
}

body {
  position: relative;
  font-size: 1rem;
  font-family: "YakuHanJP", "Noto Sans JP", YuGothic, "Yu Gothic UI", "MS ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #333;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -ms-overflow-style: none;
  scrollbar-width: none;
}

body.js-menuopen {
  position: fixed;
  width: 100vw;
  overflow: hidden;
}

body::-webkit-scrollbar {
  display: none;
}

picture {
  display: block;
  width: 100%;
  height: auto;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a,
button {
  -webkit-transition: .3s;
  transition: .3s;
  cursor: pointer;
}

a:hover,
button:hover {
  opacity: .3;
}

::-moz-selection {
  background-color: #000;
  color: #fff;
}

::selection {
  background-color: #000;
  color: #fff;
}

/* ========================================
	Layout (id推奨)
	命名規則: #id-
========================================= */

/* ========================================
	Project(コンテンツを構成する具体的な要素)
	命名規則: .p-
========================================= */

/*----- TOPカスタマイズ -----*/

#layer_board_area {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  -webkit-transition: .8s ease-out;
  transition: .8s ease-out;
}

.layer_board {
  position: relative;
  width: 100%;
  height: 100%;
  background: #fff;
}

.layer_borad_content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.p-top__intro__img1,
.p-top__intro__img2 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 9999;
  height: auto;
}

.p-top__intro__img1 {
  width: 19.125rem;
}

.p-top__intro__img2 {
  width: 22.5rem;
}

.p-top__intro__bg1,
.p-top__intro__bg2 {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-transition: .8s ease-out;
  transition: .8s ease-out;
  opacity: 0;
  visibility: hidden;
}

.p-top__intro__bg1.js-display,
.p-top__intro__bg2.js-display {
  opacity: 1;
  visibility: visible;
}

.p-top__intro__bg1 {
  z-index: 1;
}

.p-top__intro__bg2 {
  z-index: 2;
}

.p-top__content {
  position: relative;
  z-index: 2;
}

.l-top__fv {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
}

.l-top__fv .c-container {
  position: relative;
  height: 100%;
}

.p-top__textbox {
  position: absolute;
  top: 9.3125rem;
  right: 0;
  width: 100%;
  max-width: 690px;
  height: auto;
}

.p-top__text {
  width: 100%;
  max-width: 631px;
  height: auto;
  margin: 0 auto 0 0;
  -webkit-transition: .9s;
  transition: .9s;
  -webkit-filter: blur(2px);
  filter: blur(2px);
  opacity: 0;
  visibility: visible;
}

.p-top__text.js-active {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  visibility: visible;
}

.p-top__sliders {
  position: absolute;
  top: .8125rem;
  right: 1rem;
  width: 11.0625rem;
  height: 7.375rem;
  -webkit-transition: .6s;
  transition: .6s;
  opacity: 0;
  visibility: hidden;
}

.p-top__sliders.js-active {
  opacity: 1;
  visibility: visible;
}

.p-top__slider {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -webkit-transition: .6s;
  transition: .6s;
  opacity: 0;
  visibility: hidden;
}

.p-top__slider.js-active {
  opacity: 1;
  visibility: visible;
}

.p-top__scroll {
  position: absolute;
  bottom: 0;
  left: 100px;
  height: 120px;
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}

.p-top__scroll.js-active {
  opacity: 1;
  visibility: visible;
}

.p-top__scroll span {
  position: absolute;
  top: 0;
  left: -3px;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #fff;
  letter-spacing: .025em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.p-top__scroll::after {
  position: absolute;
  top: 50px;
  width: 1px;
  height: 60px;
  background: #fff;
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
  animation: pathmove 1.4s ease-in-out infinite;
  content: "";
  opacity: 0;
}

@-webkit-keyframes pathmove {
  0% {
    height: 0;
    opacity: 0;
  }

  30% {
    height: 60px;
    opacity: 1;
  }

  100% {
    top: 120px;
    height: 0;
    opacity: 0;
  }
}

@keyframes pathmove {
  0% {
    height: 0;
    opacity: 0;
  }

  30% {
    height: 60px;
    opacity: 1;
  }

  100% {
    top: 120px;
    height: 0;
    opacity: 0;
  }
}

.l-top__concept {
  width: 100%;
  height: auto;
  background-color: #fff;
  overflow-x: hidden;
}

.l-top__concept .c-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 14.8125rem 20px 16.0625rem;
}

.p-top__concept__title {
  position: relative;
  z-index: 2;
  width: 50%;
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__concept__textbox {
  position: relative;
  z-index: 2;
  width: 50%;
  height: auto;
}

.p-top__concept__smalltitle {
  width: 100%;
  max-width: 552px;
  height: auto;
}

.p-top__concept__text {
  margin-top: 4.6875rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: calc(28 / 16);
  letter-spacing: .05em;
}

.p-top__concept__text__en {
  margin-top: 3.125rem;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #b2b2b2;
  line-height: calc(24 / 12);
  letter-spacing: .025em;
}

.p-top__concept__ornament {
  position: absolute;
  bottom: 9rem;
  left: 0;
  -webkit-transform: translateX(-60px);
  transform: translateX(-60px);
  width: 12.5rem;
  height: auto;
}

.p-top__concept__ornament video {
  display: block;
  width: 100%;
  height: auto;
}

.l-top__value {
  width: 100%;
  height: auto;
}

.l-top__value .c-container {
  padding: 7.5rem 20px 8.75rem;
}

.p-top__value__title {
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #fff;
  text-align: center;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__value__circles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: auto;
  margin: 3.125rem auto 0;
}

.p-top__value__circle {
  width: 28%;
  height: auto;
}

.p-top__value__circle:not(:first-child) {
  margin-left: -4%;
}

.l-top__todo {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #fff;
  overflow: hidden;
}

.pin-spacer {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.pin-spacer::-webkit-scrollbar {
  display: none;
}

.p-top__todo__containers {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  width: 600%;
  height: 100vh;
  height: 100dvh;
  -ms-overflow-style: none;
  scrollbar-width: none;
  will-change: auto;
}

.p-top__todo__containers::-webkit-scrollbar {
  display: none;
}

.p-top__todo__container {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.p-top__todo__container .c-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}

.p-top__todo__container.u-container1 .c-container {
  padding-bottom: 3.375rem;
}

.p-top__todo__container__textbox {
  padding-right: .625rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-top__todo__container__title {
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__todo__container__parent_tag {
  position: relative;
  display: block;
  margin-top: 1.5rem;
  padding-left: 3.125rem;
  -webkit-transition: .3s;
  transition: .3s;
  cursor: pointer;
  text-decoration: none;
  font-size: 3.75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__todo__container__parent_tag.u-2rows {
  font-size: 3.125rem;
  letter-spacing: 0;
}

.p-top__todo__container__parent_tag:hover {
  opacity: .3;
}

.p-top__todo__container__parent_tag:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "#";
}

.p-top__todo__container__text {
  margin-top: 1.5rem;
  font-size: 1rem;
  font-weight: 300;
  color: #000;
  line-height: calc(28 / 16);
  letter-spacing: .05em;
}

.p-top__todo__container__text--en {
  margin-top: 1.125rem;
  font-size: .75rem;
  font-weight: 300;
  color: #b2b2b2;
  line-height: calc(24 / 12);
  letter-spacing: .025em;
}

.p-top__todo__container__lists {
  margin: 2.125rem auto 0;
}

.p-top__todo__container__lists.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 540px;
  margin-left: 0;
}

.p-top__todo__container__lists.u-flex .p-top__todo__container__list {
  width: 50%;
}

.p-top__todo__container__lists.u-flex .p-top__todo__container__list:nth-child(2) {
  margin-top: 0;
}

.p-top__todo__container__list {
  display: block;
  cursor: pointer;
  line-height: 1;
}

.p-top__todo__container__list:hover {
  opacity: .3;
}

.p-top__todo__container__list a {
  display: block;
  text-decoration: none;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #333;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__todo__container__list:not(:first-child) {
  margin-top: 1.25rem;
}

.p-top__todo__container__message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 3.125rem;
  margin-left: -.25rem;
  font-size: 3.75rem;
  font-weight: 100;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__todo__container__movie {
  display: none;
  width: auto;
  height: 4.5rem;
  margin-top: .75rem;
  margin-left: 1rem;
}

.p-top__todo__container__linkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: auto;
}

.p-top__todo__container__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 32.5rem;
  height: auto;
  text-decoration: none;
  font-size: 3.75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
  white-space: nowrap;
}

.p-top__todo__container__linkicon {
  width: 2.5rem;
  height: auto;
  margin-left: 2.1875rem;
}

.p-top__todo__container__img {
  width: 41.66666667%;
}

.p-top__todo__linkbtn__link {
  position: absolute;
  right: 0;
  bottom: 7.875rem;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .1em;
}

.p-top__todo__linkbtn__link::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 22px;
  height: 9px;
  background: url(../images/top/icon-top_arrrow_right2.png) 50% 50% no-repeat;
  background-size: cover;
  content: "";
}

.p-top__todo__linkbtn__link:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 1;
}

.p-top__todo__linkbtn__link__text {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  -webkit-transition: color .3s;
  transition: color .3s;
  text-decoration: none;
  font-size: 12px;
  color: #000;
  text-align: center;
  line-height: 1;
  letter-spacing: 0 .04em;
  -webkit-animation: rotateAnim 10s linear infinite;
  animation: rotateAnim 10s linear infinite;
}

.p-top__todo__linkbtn__link__text span {
  position: absolute;
  top: 0;
  left: calc(50% - 6px);
  display: inline-block;
  width: 10px;
  height: 60px;
  font-weight: 100;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

.p-top__todo__linkbtn__link__text span:nth-child(1) {
  -webkit-transform: rotate(10deg);
  transform: rotate(10deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(2) {
  -webkit-transform: rotate(18deg);
  transform: rotate(18deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(3) {
  -webkit-transform: rotate(23deg);
  transform: rotate(23deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(4) {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(5) {
  -webkit-transform: rotate(39deg);
  transform: rotate(39deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(6) {
  -webkit-transform: rotate(48deg);
  transform: rotate(48deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(7) {
  -webkit-transform: rotate(56deg);
  transform: rotate(56deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(8) {
  -webkit-transform: rotate(65deg);
  transform: rotate(65deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(9) {
  -webkit-transform: rotate(73deg);
  transform: rotate(73deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(10) {
  -webkit-transform: rotate(80deg);
  transform: rotate(80deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(11) {
  -webkit-transform: rotate(86deg);
  transform: rotate(86deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(12) {
  -webkit-transform: rotate(94deg);
  transform: rotate(94deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(13) {
  -webkit-transform: rotate(101deg);
  transform: rotate(101deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(14) {
  -webkit-transform: rotate(107deg);
  transform: rotate(107deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(15) {
  -webkit-transform: rotate(115deg);
  transform: rotate(115deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(16) {
  -webkit-transform: rotate(123deg);
  transform: rotate(123deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(17) {
  -webkit-transform: rotate(132deg);
  transform: rotate(132deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(18) {
  -webkit-transform: rotate(138deg);
  transform: rotate(138deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(19) {
  -webkit-transform: rotate(146deg);
  transform: rotate(146deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(20) {
  -webkit-transform: rotate(154deg);
  transform: rotate(154deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(21) {
  -webkit-transform: rotate(163deg);
  transform: rotate(163deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(22) {
  -webkit-transform: rotate(169deg);
  transform: rotate(169deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(23) {
  -webkit-transform: rotate(175deg);
  transform: rotate(175deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(24) {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(25) {
  -webkit-transform: rotate(186deg);
  transform: rotate(186deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(26) {
  -webkit-transform: rotate(193deg);
  transform: rotate(193deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(27) {
  -webkit-transform: rotate(201deg);
  transform: rotate(201deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(28) {
  -webkit-transform: rotate(209deg);
  transform: rotate(209deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(29) {
  -webkit-transform: rotate(216deg);
  transform: rotate(216deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(31) {
  -webkit-transform: rotate(229deg);
  transform: rotate(229deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(32) {
  -webkit-transform: rotate(238deg);
  transform: rotate(238deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(33) {
  -webkit-transform: rotate(246deg);
  transform: rotate(246deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(34) {
  -webkit-transform: rotate(249deg);
  transform: rotate(249deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(35) {
  -webkit-transform: rotate(257deg);
  transform: rotate(257deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(36) {
  -webkit-transform: rotate(269deg);
  transform: rotate(269deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(37) {
  -webkit-transform: rotate(280deg);
  transform: rotate(280deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(38) {
  -webkit-transform: rotate(289deg);
  transform: rotate(289deg);
}

.p-top__todo__linkbtn__link__text span:nth-child(39) {
  -webkit-transform: rotate(297deg);
  transform: rotate(297deg);
}

@-webkit-keyframes rotateAnim {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
  }

  50% {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }

  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
  }
}

@keyframes rotateAnim {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
  }

  50% {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }

  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
  }
}

.p-top__todo__anchor_container {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: none;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.p-top__todo__anchors {
  position: absolute;
  bottom: 16px;
  left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% / 6 - 40px);
  height: auto;
}

.p-top__todo__anchor {
  display: block;
  width: 25%;
  -webkit-transition: .3s;
  transition: .3s;
  text-decoration: none;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: .025em;
  pointer-events: all;
}

.p-top__todo__anchor:not(:first-child) {
  padding-left: 10px;
}

.p-top__todo__anchor.js-active {
  background-color: #000;
  font-weight: 400;
  color: #fff;
}

.p-top__todo__ornament {
  position: absolute;
  right: 14px;
  left: initial;
  margin: 0;
  -webkit-transition: opacity 1.5s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: opacity 1.5s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: transform 1.5s, opacity 1.5s, color .3s, background-color .3s, visibility .3s;
  transition: transform 1.5s, opacity 1.5s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  font-size: .625rem;
  font-weight: 100;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1.2;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.p-top__todo__ornament.js-scroll_ornament1 {
  top: 0;
  height: 53px;
  -webkit-transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
}

.p-top__todo__ornament.js-scroll_ornament2 {
  height: 53px;
  -webkit-transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
}

.p-top__todo__ornament.js-scroll_ornament3 {
  height: 35px;
  -webkit-transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
}

.p-top__todo__ornament.js-scroll_ornament4 {
  height: 72px;
  -webkit-transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s;
  transition: transform 1.5s, opacity .3s, color .3s, background-color .3s, visibility .3s, -webkit-transform 1.5s;
}

.p-top__todo__ornament.js-areain {
  background-color: #000;
  color: #fff;
}

.p-top__todo__ornament.js-fadeout {
  opacity: 0;
  visibility: hidden;
}

.l-top__management {
  width: 100%;
  height: auto;
  padding: 15rem 0 0;
  background-color: #f7f3f0;
}

.p-top__management__title {
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.p-top__management__sliders {
  width: 100%;
  height: auto;
  margin: 4.6875rem auto 0;
}

.p-top__management__slider__text {
  padding-bottom: 1.125rem;
  padding-left: 2.9375rem;
  font-size: 11.25rem;
  font-weight: 300;
  font-family: "Cormorant Garamond", serif;
  color: #000;
  line-height: 1;
  letter-spacing: -.03em;
}

.p-top__management__slider__text .u-italic {
  font-weight: 300;
  font-style: italic;
}

.p-top__management__textbox {
  width: 50%;
  height: auto;
  margin: 3.875rem 0 0 auto;
  padding-bottom: 9.5625rem;
}

.p-top__management__smalltitle {
  margin-left: -6px;
  font-size: 3.75rem;
  font-weight: 100;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__management__smalltitle--jp {
  margin: 1.4375rem auto 0;
  font-size: 1rem;
  font-weight: 400;
  color: #000;
  line-height: 1.5;
  letter-spacing: .025em;
}

.p-top__management__text {
  margin: 4.375rem auto 0;
  font-size: 1rem;
  font-weight: 300;
  line-height: calc(28 / 16);
  letter-spacing: .05em;
}

.p-top__management__text__en {
  margin: 3.125rem auto 0;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #999;
  line-height: calc(24 / 12);
  letter-spacing: .025em;
}

.p-top__management__linkbox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.p-top__management__link {
  width: 50%;
  height: auto;
  cursor: pointer;
}

.p-top__management__link:hover>.p-top__management__mouseoverlink {
  width: 100%;
  height: auto;
  opacity: 1;
  visibility: visible;
}

.p-top__management__mouseoverlink {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: auto;
  -webkit-transition: .3s;
  transition: .3s;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
}

.p-top__management__link__mouseoverlink__img {
  position: relative;
  z-index: 1;
  cursor: pointer;
}

.p-top__management__mouseoverlink__str--yanke {
  position: absolute;
  top: 50%;
  left: 19.142%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
  width: 10rem;
  height: auto;
}

.p-top__management__mouseoverlink__str--hente {
  position: absolute;
  top: 50%;
  right: 17.642%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
  width: 12.5625rem;
  height: auto;
}

.l-top__about {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 15rem 0;
  background-color: #fff;
}

.l-top__about .c-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-top__about__title {
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-transform: uppercase;
}

.p-top__about__lists {
  width: 50%;
  height: auto;
}

.p-top__about__list {
  width: 100%;
  height: auto;
}

.p-top__about__list:not(:first-child) {
  margin-top: 3.3125rem;
}

.p-top__about__list dt {
  font-size: .875rem;
  font-weight: 400;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #999;
  line-height: 1;
  letter-spacing: .05em;
}

.p-top__about__list dd {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: .05em;
}

.p-top__about__list dd .u-english {
  font-size: .75rem;
  font-weight: 200;
  color: #999;
}

.p-top__about__list dd .u-english.u-margin--left {
  padding-left: .5rem;
}

.p-top__about__list dd .u-english.u-margin--top {
  display: block;
  padding-top: .9375rem;
}

.p-top__about__list dd a {
  text-decoration: none;
  font-weight: 300;
  color: #333;
}

.p-top__about__list dd a:hover {
  opacity: 1;
}

.p-top__about__sliders {
  position: absolute;
  bottom: .25rem;
  left: 20px;
  width: 10.375rem;
  height: auto;
  overflow: hidden;
}

.p-top__about__slider {
  width: 100%;
  height: auto;
}

.l-top__information {
  width: 100%;
  height: auto;
  margin: -1px auto 0;
  padding: 0 0 15rem;
  background-color: #fff;
}

.p-top__information__title {
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.p-top__information__lists {
  width: 100%;
  height: auto;
  margin: 2.5rem auto 0;
}

.p-top__information__list {
  width: 100%;
  height: auto;
  padding: 1.875rem 0;
  background-color: #f7f7f7;
}

.p-top__information__list:not(:last-child) {
  border-bottom: 1px solid #fff;
}

.p-top__information__list:hover .p-top__information__list__omission {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

.p-top__information__list:hover .p-top__information__list__fullcontainer {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.p-top__information__list__wrapper {
  position: relative;
  display: block;
  width: 100%;
  height: 1.125rem;
  padding: 1px 0;
  overflow: hidden;
}

.p-top__information__list__wrapper:hover {
  opacity: 1;
}

a.p-top__information__list__wrapper {
  text-decoration: none;
}

a.p-top__information__list__wrapper .p-top__information__list__omission dt {
  text-decoration: none;
}

a.p-top__information__list__wrapper .p-top__information__list__omission dd {
  text-decoration: underline;
}

a.p-top__information__list__wrapper .p-top__information__list__full {
  text-decoration: underline;
}

.p-top__information__list__omission {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  height: auto;
  margin: 0 0 0 auto;
  -webkit-transition: .3s;
  transition: .3s;
}

.p-top__information__list__omission dt {
  width: 100px;
  padding-top: 1px;
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #999;
  line-height: 1rem;
  letter-spacing: .05em;
}

.p-top__information__list__omission dd {
  padding-right: .625rem;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 300;
  color: #333;
  line-height: 1rem;
  letter-spacing: .05em;
  white-space: nowrap;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-overflow: ellipsis;
}

@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.p-top__information__list__fullcontainer {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(105%);
  transform: translateY(105%);
  width: 100%;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.p-top__information__list__fullbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-animation: infinity-scroll-left 15s infinite linear .5s both;
  animation: infinity-scroll-left 15s infinite linear .5s both;
}

.p-top__information__list__full {
  min-width: 33%;
  font-size: 1rem;
  font-weight: 300;
  color: #333;
  line-height: 1;
  letter-spacing: .05em;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-top__information__list__full:not(:first-child) {
  margin-left: 1.25rem;
}

.p-top__information__recruit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 3.1875rem 7.5% 3.375rem 5%;
  background-color: #000;
  text-decoration: none;
  color: #fff;
}

.p-top__information__recruit:hover {
  opacity: 1;
}

.p-top__information__recruit:hover .p-top__information__recruit__icon {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}

.p-top__information__recruit__title {
  font-size: 3.75rem;
  font-weight: 100;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .025em;
}

.p-top__information__recruit__textbox {
  margin-left: 5.714286%;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-top__information__recruit__icon {
  position: absolute;
  top: 50%;
  right: 5%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 2.5rem;
  height: auto;
  -webkit-transition: .3s;
  transition: .3s;
}

.p-top__information__recruit__text__jp {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
}

.p-top__information__recruit__text__en {
  margin-top: .875rem;
  font-size: .75rem;
  font-weight: 100;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1.5;
}

/*----- WORKS一覧カスタマイズ -----*/

.p-works__content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  padding: 9.625rem 0 15rem;
  background-color: #fff;
}

.p-works__content .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1320px;
}

.p-works__categorybox {
  width: 20rem;
  height: auto;
  font-family: "Be Vietnam Pro", sans-serif;
}

.p-works__categorybox a {
  text-decoration: none;
  color: #ccc;
}

.p-works__categorybox a.js-active {
  color: #000;
}

.p-works__categorybox a:hover {
  opacity: 1;
}

.p-works__categoryall {
  position: relative;
  padding-left: 1em;
  font-size: 3.75rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: .025em;
  word-break: keep-all;
}

.p-works__categoryall::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-weight: 200;
  content: "#";
}

.p-works__categoryToggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 5.46875rem;
  height: 1.4375rem;
  margin-top: .125rem;
  border: 1px solid #333;
  border-radius: .71875rem;
  font-size: .625rem;
  font-weight: 200;
  color: #333;
  line-height: 1;
  letter-spacing: .05em;
}

.p-works__categories {
  width: 100%;
  height: auto;
  margin: 3.125rem auto 0;
}

.p-works__category {
  display: block;
  width: 100%;
  height: auto;
  line-height: 1;
}

.p-works__category:not(:first-child) {
  margin: 2.375rem auto 0;
}

.p-works__categorylink {
  position: relative;
  display: block;
  padding-left: 1em;
  font-size: .875rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: .05em;
}

.p-works__categorylink:before {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 200;
  content: "#";
}

.p-works__childcategories {
  width: 100%;
  height: auto;
  margin: .875rem auto 0;
  padding-right: .625rem;
}

.p-works__childcategory {
  display: block;
  line-height: 1;
}

.p-works__childcategory:not(:first-child) {
  margin: .25rem auto 0;
}

.p-works__childcategorylink {
  position: relative;
  display: block;
  padding-left: 1em;
  font-size: .75rem;
  font-weight: 200;
  line-height: 1.5;
  letter-spacing: .05em;
}

.p-works__childcategorylink:before {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 200;
  content: "#";
}

@-webkit-keyframes spGlobalNavOpen {
  0% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }

  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}

@keyframes spGlobalNavOpen {
  0% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }

  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}

@-webkit-keyframes spGlobalNavClose {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }

  100% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
}

@keyframes spGlobalNavClose {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }

  100% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
}

.p-works__categorynav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5000;
  width: 100vw;
  padding: 6.09375rem 0 0;
  background-color: #fff;
  font-family: "Be Vietnam Pro", sans-serif;
  overflow-y: scroll;
}

.p-works__categorynav.js-active {
  height: 100vh;
  height: 100dvh;
  -webkit-transition: height 0s linear 0s;
  transition: height 0s linear 0s;
  -webkit-animation: spGlobalNavOpen 1s cubic-bezier(.77, 0, .175, 1) 0s 1 normal both;
  animation: spGlobalNavOpen 1s cubic-bezier(.77, 0, .175, 1) 0s 1 normal both;
}

.p-works__categorynav:not(.js-active) {
  height: 0;
  -webkit-transition: height 0s linear 1s;
  transition: height 0s linear 1s;
  -webkit-animation: spGlobalNavClose 1s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
  animation: spGlobalNavClose 1s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
}

.p-works__categorynav .p-works__categories {
  display: block;
}

.p-works__categorynav a {
  display: block;
  text-decoration: none;
  color: #000;
}

.p-works__nav_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4999;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, .7);
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}

.p-works__nav_bg.js-active {
  opacity: 1;
  visibility: visible;
}

.p-works__categorynav__title {
  font-size: .625rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
}

.p-works__categorynav__categoryToggle {
  width: 1.25rem;
  height: auto;
  padding: 0;
}

.p-works__categorynav__inner {
  width: 100%;
  height: auto;
  padding: 0 1.25rem 3.625rem;
}

.p-works__categorynav__inner .p-works__categoryall {
  opacity: 1;
  visibility: visible;
}

.p-works__categorynav__categoryToggle--bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 2.5rem;
  background-color: #e0e0e0;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  letter-spacing: .05em;
}

.p-works__categorynav__categoryToggle--bottom img {
  width: .625rem;
  margin-right: .375rem;
}

.p-works__linkboxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: .375rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-works__linkbox {
  position: relative;
  width: calc(33.33333% - 2px / 3);
  margin-bottom: 1px;
  overflow: hidden;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
  opacity: 0;
  visibility: hidden;
}

.p-works__linkbox:not(:nth-child(3n)) {
  margin-right: 1px;
}

.p-works__linkbox:hover .p-works__linkbox__inner {
  -webkit-filter: blur(2px);
  filter: blur(2px);
}

.p-works__linkbox:hover .p-works__linkbox__hoverinfo {
  opacity: 1;
  visibility: visible;
}

.p-works__linkbox.js-active {
  opacity: 1;
  visibility: visible;
}

.p-works__linkbox__inner {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  padding-top: 150%;
  -webkit-transition: 0;
  transition: 0;
}

.p-works__linkbox__inner.u-noimage {
  background-color: #bfbfbf;
  text-decoration: none;
}

.p-works__linkbox__inner.u-noimage:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  text-decoration: none;
  font-size: 1rem;
  color: #fff;
  content: "NOIMAGE";
}

.p-works__linkbox__inner:hover {
  opacity: 1;
}

.p-works__linkbox__hoverinfo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 2.1875rem 12.5%;
  background: rgba(0, 0, 0, .8);
  color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.p-works__linkbox__title {
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: calc(24 / 14);
  letter-spacing: .05em;
  word-break: break-word;
}

.p-works__linkbox__category li {
  position: relative;
  padding-left: 1em;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: calc(18 / 12);
  letter-spacing: .05em;
}

.p-works__linkbox__category li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "#";
}

.p-works_detail__content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  padding: 9.5625rem 0 15rem;
  background-color: #fff;
}

.p-works_detail__titlearea {
  min-height: 18.75rem;
}

.p-works_detail__titlearea .c-container {
  position: relative;
  padding-bottom: 8.625rem;
}

.p-works_detail__title {
  font-size: 3.75rem;
  font-weight: 300;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: 0;
  word-break: break-word;
}

.p-works_detail__date {
  margin-top: 1.75rem;
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
}

.p-works_detail__linkbtn__link {
  position: absolute;
  right: -1.5rem;
  bottom: 3.125rem;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .1em;
}

.p-works_detail__linkbtn__link::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 22px;
  height: 9px;
  background: url(../images/top/icon-top_arrrow_right2.png) 50% 50% no-repeat;
  background-size: cover;
  content: "";
}

.p-works_detail__linkbtn__link:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 1;
}

.p-works_detail__linkbtn__link__text {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  -webkit-transition: color .3s;
  transition: color .3s;
  text-decoration: none;
  font-size: 12px;
  color: #000;
  text-align: center;
  line-height: 1;
  letter-spacing: 0 .04em;
  -webkit-animation: rotateAnim 10s linear infinite;
  animation: rotateAnim 10s linear infinite;
}

.p-works_detail__linkbtn__link__text span {
  position: absolute;
  top: 0;
  left: calc(50% - 6px);
  display: inline-block;
  width: 10px;
  height: 60px;
  font-weight: 100;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

.p-works_detail__linkbtn__link__text span:nth-child(1) {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(2) {
  -webkit-transform: rotate(9deg);
  transform: rotate(9deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(3) {
  -webkit-transform: rotate(17deg);
  transform: rotate(17deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(4) {
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(5) {
  -webkit-transform: rotate(33deg);
  transform: rotate(33deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(6) {
  -webkit-transform: rotate(48deg);
  transform: rotate(48deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(7) {
  -webkit-transform: rotate(46deg);
  transform: rotate(46deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(8) {
  -webkit-transform: rotate(56deg);
  transform: rotate(56deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(9) {
  -webkit-transform: rotate(64deg);
  transform: rotate(64deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(10) {
  -webkit-transform: rotate(71deg);
  transform: rotate(71deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(11) {
  -webkit-transform: rotate(76deg);
  transform: rotate(76deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(12) {
  -webkit-transform: rotate(80deg);
  transform: rotate(80deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(13) {
  -webkit-transform: rotate(86deg);
  transform: rotate(86deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(14) {
  -webkit-transform: rotate(93deg);
  transform: rotate(93deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(15) {
  -webkit-transform: rotate(99deg);
  transform: rotate(99deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(16) {
  -webkit-transform: rotate(106deg);
  transform: rotate(106deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(17) {
  -webkit-transform: rotate(115deg);
  transform: rotate(115deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(18) {
  -webkit-transform: rotate(123deg);
  transform: rotate(123deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(19) {
  -webkit-transform: rotate(130deg);
  transform: rotate(130deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(20) {
  -webkit-transform: rotate(137deg);
  transform: rotate(137deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(21) {
  -webkit-transform: rotate(144deg);
  transform: rotate(144deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(22) {
  -webkit-transform: rotate(151deg);
  transform: rotate(151deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(23) {
  -webkit-transform: rotate(159deg);
  transform: rotate(159deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(24) {
  -webkit-transform: rotate(166deg);
  transform: rotate(166deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(25) {
  -webkit-transform: rotate(173deg);
  transform: rotate(173deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(26) {
  -webkit-transform: rotate(179deg);
  transform: rotate(179deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(27) {
  -webkit-transform: rotate(188deg);
  transform: rotate(188deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(28) {
  -webkit-transform: rotate(196deg);
  transform: rotate(196deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(29) {
  -webkit-transform: rotate(203deg);
  transform: rotate(203deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(30) {
  -webkit-transform: rotate(210deg);
  transform: rotate(210deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(31) {
  -webkit-transform: rotate(217deg);
  transform: rotate(217deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(32) {
  -webkit-transform: rotate(226deg);
  transform: rotate(226deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(33) {
  -webkit-transform: rotate(233deg);
  transform: rotate(233deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(34) {
  -webkit-transform: rotate(240deg);
  transform: rotate(240deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(35) {
  -webkit-transform: rotate(247deg);
  transform: rotate(247deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(36) {
  -webkit-transform: rotate(255deg);
  transform: rotate(255deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(37) {
  -webkit-transform: rotate(262deg);
  transform: rotate(262deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(38) {
  -webkit-transform: rotate(269deg);
  transform: rotate(269deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(39) {
  -webkit-transform: rotate(277deg);
  transform: rotate(277deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(40) {
  -webkit-transform: rotate(289deg);
  transform: rotate(289deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(41) {
  -webkit-transform: rotate(296deg);
  transform: rotate(296deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(42) {
  -webkit-transform: rotate(301deg);
  transform: rotate(301deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(43) {
  -webkit-transform: rotate(308deg);
  transform: rotate(308deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(44) {
  -webkit-transform: rotate(316deg);
  transform: rotate(316deg);
}

.p-works_detail__linkbtn__link__text span:nth-child(45) {
  -webkit-transform: rotate(323deg);
  transform: rotate(323deg);
}

@-webkit-keyframes rotateAnim {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
  }

  50% {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }

  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
  }
}

@keyframes rotateAnim {
  0% {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
  }

  50% {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }

  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
  }
}

.p-works_detail__mainimage {
  width: 100%;
  height: auto;
}

.p-works_detail__mainimage video {
  display: block;
  width: 100%;
  height: auto;
}

.p-works_detail__mainimagebox {
  width: 100%;
  height: auto;
}

.p-works_detail__mainimage__sliders {
  width: 100%;
  height: auto;
}

.p-works_detail__contentarea {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding-top: 6.25rem;
}

.p-works_detail__contentarea .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-works_detail__sidebar {
  width: 15rem;
  height: auto;
  padding-right: .625rem;
}

.p-works_detail__sidebox {
  width: 100%;
  height: auto;
}

.p-works_detail__sidebox:not(:first-child) {
  margin-top: 2.375rem;
}

.p-works_detail__sidebox__title {
  font-size: .875rem;
  font-weight: 300;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 1;
  letter-spacing: .05em;
}

.p-works_detail__sidebox__title.js-accordionToggle {
  position: relative;
  padding-left: 1.375rem;
  cursor: pointer;
}

.p-works_detail__sidebox__accordion_icon {
  position: absolute;
  top: 50%;
  left: .1875rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 12px;
  height: auto;
  -webkit-transition: .3s;
  transition: .3s;
}

.p-works_detail__sidebox__accordion_icon.js-active {
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}

.p-works_detail__sidebox__category {
  width: 100%;
  height: auto;
  margin-top: .875rem;
}

.p-works_detail__sidebox__category li {
  display: block;
  line-height: 1;
}

.p-works_detail__sidebox__category li a {
  text-decoration: none;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #333;
  letter-spacing: .05em;
}

.p-works_detail__sidebox__category li:not(:first-child) {
  margin-top: .625rem;
}

.p-works_detail__sidebox__text {
  margin-top: .625rem;
  font-size: .75rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", "YakuHanJP", "Noto Sans JP", YuGothic, "Yu Gothic UI", "MS ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  line-height: 1.5;
  letter-spacing: .05em;
  word-break: keep-all;
}

.p-works_detail__sidebox__text.js-accordionContent {
  display: none;
  margin-top: 0;
  padding-top: .625rem;
}

.p-works_detail__picturearea {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-works_detail__picture {
  width: 100%;
  height: auto;
}

.p-works_detail__picture:not(:first-child) {
  margin-top: 2.5rem;
}

.p-works_detail__prev {
  position: fixed;
  top: 50%;
  left: 2.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5rem;
  height: auto;
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}

.p-works_detail__prev.js-active {
  opacity: 1;
  visibility: visible;
}

.p-works_detail__prev.js-absolute {
  position: absolute;
  top: initial;
  bottom: 60px;
  -webkit-transform: initial;
  transform: initial;
}

.p-works_detail__next {
  position: fixed;
  top: 50%;
  right: 2.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5rem;
  height: auto;
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}

.p-works_detail__next.js-active {
  opacity: 1;
  visibility: visible;
}

.p-works_detail__next.js-absolute {
  position: absolute;
  top: initial;
  bottom: 60px;
  -webkit-transform: initial;
  transform: initial;
}

/*----- RECRUITカスタマイズ -----*/

.p-recruit__content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  padding-top: 9.4375rem;
  padding-bottom: 14.625rem;
  background-color: #fff;
}

.p-recruit__title {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto;
  font-size: 3.75rem;
  font-weight: 300;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1.3;
  letter-spacing: .01em;
  word-break: break-word;
}

.p-recruit__title--jp {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: .8125rem auto 0;
  font-size: 1rem;
  font-weight: 200;
  color: #000;
  line-height: 1.3;
  letter-spacing: .025em;
}

.p-recruit__date {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 3.4375rem auto 0;
  font-size: .875rem;
  font-weight: 200;
  font-family: "Be Vietnam Pro", sans-serif;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
}

.p-recruit__image {
  width: 100%;
  height: auto;
  margin: 3.625rem auto 0;
}

.p-recruit__text {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 5.75rem auto 0;
  font-size: 1rem;
  font-weight: 300;
  line-height: calc(28 / 16);
  letter-spacing: .05em;
}

.p-recruit__text a {
  text-decoration: underline;
  color: #333;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 100%;
  }

  .p-top__intro__img1 {
    width: 11.5rem;
  }

  .p-top__intro__img2 {
    width: 13.5rem;
  }

  .p-top__textbox {
    top: 31.1%;
    padding: 0 20px;
  }

  .p-top__text {
    width: 95.074627%;
  }

  .p-top__sliders {
    top: .4375rem;
    right: 20px;
    width: 5.625rem;
    height: 3.6875rem;
  }

  .p-top__scroll {
    left: 26px;
    height: 100px;
  }

  .p-top__scroll span {
    font-size: .625rem;
  }

  .p-top__scroll::after {
    top: 50px;
    height: 50px;
  }

  .l-top__concept .c-container {
    display: block;
    padding: 7.5rem 20px 3.125rem;
  }

  .p-top__concept__title {
    width: 100%;
    font-size: .625rem;
  }

  .p-top__concept__textbox {
    width: 100%;
  }

  .p-top__concept__smalltitle {
    margin-top: 3.75rem;
  }

  .p-top__concept__text {
    margin-top: 2.25rem;
    font-size: .65625rem;
    line-height: calc(36 / 21);
  }

  .p-top__concept__text__en {
    margin-top: 2.1875rem;
    font-size: .625rem;
    line-height: calc(30 / 18);
  }

  .p-top__concept__ornament {
    position: relative;
    bottom: initial;
    left: initial;
    -webkit-transform: initial;
    transform: initial;
    width: 6.25rem;
    height: auto;
    margin: 5.4375rem auto 0 0;
  }

  .l-top__value .c-container {
    padding: 3.75rem 20px;
  }

  .p-top__value__title {
    font-size: .625rem;
  }

  .p-top__value__circles {
    display: block;
    width: 50.746269%;
    margin: 1.875rem auto 0;
  }

  .p-top__value__circle {
    width: 100%;
  }

  .p-top__value__circle:not(:first-child) {
    margin-top: -1.875rem;
    margin-left: 0;
  }

  .l-top__todo {
    overflow: initial;
  }

  .p-top__todo__containers {
    display: block;
    width: 100%;
    height: auto;
    background-color: #fff;
  }

  .p-top__todo__container {
    height: auto;
    background-color: transparent;
  }

  .p-top__todo__container .c-container {
    display: block;
    padding-right: 1.875rem;
  }

  .p-top__todo__container.u-container1 .c-container {
    padding-top: 7.5rem;
    padding-bottom: 14.375rem;
  }

  .p-top__todo__container.u-container2 .c-container {
    padding-top: 1.875rem;
    padding-bottom: 5.625rem;
  }

  .p-top__todo__container.u-container3 .c-container {
    padding-top: 1.875rem;
    padding-bottom: 5.625rem;
  }

  .p-top__todo__container.u-container4 .c-container {
    padding-top: 1.875rem;
    padding-bottom: 5.625rem;
  }

  .p-top__todo__container.u-container5 .c-container {
    padding-top: 1.875rem;
    padding-bottom: 13.125rem;
  }

  .p-top__todo__container.u-container6 .c-container {
    padding-top: 13.125rem;
    padding-bottom: 19.0625rem;
  }

  .p-top__todo__container__title {
    font-size: .625rem;
  }

  .p-top__todo__container__parent_tag {
    padding-left: 1.5625rem;
    font-size: 1.875rem;
  }

  .p-top__todo__container__parent_tag.u-2rows {
    font-size: 1.5625rem;
  }

  .p-top__todo__container__text {
    margin-top: 1.625rem;
    font-size: .65625rem;
    line-height: calc(36 / 21);
    letter-spacing: .04em;
  }

  .p-top__todo__container__text--en {
    margin-top: .78125rem;
    font-size: .625rem;
    line-height: calc(30 / 18);
  }

  .p-top__todo__container__lists {
    margin: 2.1875rem auto 0;
  }

  .p-top__todo__container__list {
    font-size: .625rem;
  }

  .p-top__todo__container__list:not(:first-child) {
    margin-top: .625rem;
  }

  .p-top__todo__container__message {
    margin-top: 3.375rem;
    margin-left: -.125rem;
    font-size: 1.875rem;
    letter-spacing: 0;
  }

  .p-top__todo__container__movie {
    height: 2.1875rem;
    margin-top: .4375rem;
    margin-left: .75rem;
  }

  .p-top__todo__container__link {
    width: 16.25rem;
    font-size: 1.875rem;
  }

  .p-top__todo__container__linkicon {
    width: 1.25rem;
    margin-left: 1.0625rem;
  }

  .p-top__todo__container__img {
    width: 74.626866%;
    margin: 2.4375rem 0 0 auto;
  }

  .p-top__todo__linkbtn__link {
    right: 20px;
    bottom: 5.625rem;
    width: 90px;
    height: 90px;
  }

  .p-top__todo__linkbtn__link::after {
    width: 10px;
    height: 4px;
  }

  .p-top__todo__linkbtn__link__text {
    font-size: 10px;
  }

  .p-top__todo__linkbtn__link__text span {
    height: 45px;
  }

  .p-top__todo__linkbtn__link__text span:nth-child(36) {
    -webkit-transform: rotate(271deg);
    transform: rotate(271deg);
  }

  .p-top__todo__linkbtn__link__text span:nth-child(37) {
    -webkit-transform: rotate(282deg);
    transform: rotate(282deg);
  }

  .p-top__todo__linkbtn__link__text span:nth-child(38) {
    -webkit-transform: rotate(291deg);
    transform: rotate(291deg);
  }

  .p-top__todo__linkbtn__link__text span:nth-child(39) {
    -webkit-transform: rotate(300deg);
    transform: rotate(300deg);
  }

  .l-top__management {
    padding: 7.5rem 0 0;
  }

  .p-top__management__title {
    font-size: .625rem;
  }

  .p-top__management__sliders {
    margin: 2.625rem auto 0;
  }

  .p-top__management__slider__text {
    padding-bottom: .5625rem;
    padding-left: 1.5rem;
    font-size: 5.625rem;
  }

  .p-top__management__textbox {
    width: 100%;
    margin: 2.5rem auto 0;
    padding-bottom: 4.75rem;
  }

  .p-top__management__smalltitle {
    margin-left: -3px;
    font-size: 1.875rem;
  }

  .p-top__management__smalltitle--jp {
    margin: .8125rem auto 0;
    font-size: .6875rem;
    line-height: calc(38 / 24);
  }

  .p-top__management__text {
    margin: 3.4375rem auto 0;
    font-size: .65625rem;
    line-height: calc(36 / 21);
  }

  .p-top__management__text__en {
    font-size: .625rem;
    line-height: calc(30 / 18);
  }

  .p-top__management__link:hover>.p-top__management__mouseoverlink {
    opacity: 0;
    visibility: hidden;
  }

  .l-top__about {
    padding: 7.5rem 0 7.3125rem;
  }

  .l-top__about .c-container {
    display: block;
  }

  .p-top__about__title {
    font-size: .625rem;
  }

  .p-top__about__lists {
    width: 100%;
    margin: 2.4375rem auto 0;
  }

  .p-top__about__list:not(:first-child) {
    margin-top: 1.8125rem;
  }

  .p-top__about__list dt {
    font-size: .625rem;
  }

  .p-top__about__list dd {
    margin-top: .3125rem;
    font-size: .75rem;
    line-height: calc(38 / 24);
  }

  .p-top__about__list dd .u-english {
    font-size: .625rem;
  }

  .p-top__about__list dd .u-english.u-margin--left {
    padding-left: .375rem;
  }

  .p-top__about__list dd .u-english.u-margin--top {
    padding-top: .25rem;
  }

  .p-top__about__sliders {
    right: 20px;
    bottom: .125rem;
    left: initial;
    width: 5.1875rem;
  }

  .l-top__information {
    padding: 0 0 7.5rem;
  }

  .p-top__information__title {
    font-size: .625rem;
  }

  .p-top__information__lists {
    margin: 1.875rem auto 0;
  }

  .p-top__information__list {
    padding: 1.75rem 1.25rem 1.625rem;
  }

  .p-top__information__list:hover .p-top__information__list__omission {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .p-top__information__list:hover .p-top__information__list__fullcontainer {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }

  .p-top__information__list__wrapper {
    height: auto;
    padding: 0;
  }

  .p-top__information__list__omission {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  .p-top__information__list__omission dt {
    font-size: .625rem;
  }

  .p-top__information__list__omission dd {
    margin-top: .75rem;
    padding-right: 0;
    font-size: .625rem;
    line-height: calc(32 / 18);
    white-space: wrap;
  }

  .p-top__information__list__fullcontainer {
    display: none;
  }

  .p-top__information__recruit {
    display: block;
    padding: 1.6875rem 1.25rem 1.5625rem;
  }

  .p-top__information__recruit__title {
    font-size: 1.875rem;
  }

  .p-top__information__recruit__textbox {
    margin-top: .5rem;
    margin-left: 0;
    padding-right: 1.25rem;
  }

  .p-top__information__recruit__icon {
    right: 1.25rem;
    width: 1.25rem;
  }

  .p-top__information__recruit__text__jp {
    font-size: .625rem;
    line-height: calc(32 / 18);
  }

  .p-top__information__recruit__text__en {
    margin-top: .125rem;
    font-size: .625rem;
    line-height: calc(30 / 16);
  }

  .p-works__content {
    padding: 6.09375rem 0 7.375rem;
  }

  .p-works__content .c-container {
    display: block;
  }

  .p-works__categorybox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: auto;
    min-height: 6.75rem;
  }

  .p-works__categorybox a {
    color: #000;
  }

  .p-works__categoryall {
    padding-left: 0;
    -webkit-transition: .3s;
    transition: .3s;
    font-size: 1.875rem;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    opacity: 0;
    visibility: hidden;
  }

  .p-works__categoryall.js-active {
    opacity: 1;
    visibility: visible;
  }

  .p-works__categoryall::before {
    position: relative;
    top: 0;
    -webkit-transform: initial;
    transform: initial;
  }

  .p-works__categories {
    display: none;
  }

  .p-works__category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-works__categorylink {
    width: 50%;
    font-size: .75rem;
  }

  .p-works__childcategories {
    width: 50%;
    margin: 0;
    padding-right: 0;
  }

  .p-works__childcategory:not(:first-child) {
    margin: .75rem auto 0;
  }

  .p-works__childcategorylink {
    font-size: .625rem;
    line-height: calc(28 / 18);
  }

  .p-works__linkboxes {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding-top: 0;
  }

  .p-works__linkbox {
    width: calc(50% - 17px / 2);
    margin-bottom: 0;
  }

  .p-works__linkbox:nth-child(2n) {
    margin-left: 17px;
  }

  .p-works__linkbox:not(:nth-child(-n+2)) {
    margin-top: 2.375rem;
  }

  .p-works__linkbox:not(:nth-child(3n)) {
    margin-right: 0;
  }

  .p-works__linkbox:hover .p-works__linkbox__inner {
    -webkit-filter: initial;
    filter: initial;
  }

  .p-works__linkbox__hoverinfo {
    display: none;
  }

  .p-works__linkbox__title {
    margin-top: .46875rem;
    text-decoration: none;
    font-size: .625rem;
    font-weight: 200;
    color: #000;
    line-height: calc(28 / 20);
  }

  .p-works_detail__content {
    padding: 6.25rem 0 7.5rem;
  }

  .p-works_detail__titlearea {
    min-height: 12.6875rem;
  }

  .p-works_detail__titlearea .c-container {
    padding-bottom: 4.875rem;
  }

  .p-works_detail__title {
    font-size: 1.875rem;
  }

  .p-works_detail__date {
    margin-top: 1.5625rem;
    font-size: .625rem;
  }

  .p-works_detail__linkbtn__link {
    right: 20px;
    bottom: 1.25rem;
    width: 90px;
    height: 90px;
  }

  .p-works_detail__linkbtn__link::after {
    width: 10px;
    height: 4px;
  }

  .p-works_detail__linkbtn__link__text {
    font-size: 10px;
  }

  .p-works_detail__linkbtn__link__text span {
    height: 45px;
  }

  .p-works_detail__contentarea {
    padding-top: 2.4375rem;
  }

  .p-works_detail__contentarea .c-container {
    display: block;
  }

  .p-works_detail__sidebar {
    width: 100%;
    padding-right: 0;
  }

  .p-works_detail__sidebox__title {
    font-size: .75rem;
  }

  .p-works_detail__sidebox__title.js-accordionToggle {
    padding-left: .9375rem;
  }

  .p-works_detail__sidebox__accordion_icon {
    left: .0625rem;
    width: 10px;
  }

  .p-works_detail__sidebox__category {
    margin-top: .5rem;
  }

  .p-works_detail__sidebox__category li a {
    font-size: .625rem;
  }

  .p-works_detail__sidebox__category li:not(:first-child) {
    margin-top: .1875rem;
  }

  .p-works_detail__sidebox__text {
    font-size: .5rem;
  }

  .p-works_detail__picturearea {
    width: 100%;
    height: auto;
    margin: 5rem auto 0;
  }

  .p-works_detail__picture:not(:first-child) {
    margin-top: 1.25rem;
  }

  .p-works_detail__prev {
    left: 3px;
    width: 13px;
  }

  .p-works_detail__next {
    right: 3px;
    width: 13px;
  }

  .p-recruit__content {
    padding-top: 6.09375rem;
    padding-bottom: 7.1875rem;
  }

  .p-recruit__title {
    font-size: 1.875rem;
  }

  .p-recruit__title--jp {
    margin: .6875rem auto 0;
    font-size: .75rem;
    line-height: calc(38 / 24);
  }

  .p-recruit__date {
    margin: 1.5625rem auto 0;
    font-size: .625rem;
  }

  .p-recruit__image {
    width: calc(100% + 40px);
    margin: 4.9375rem auto 0 -20px;
  }

  .p-recruit__text {
    margin: 4.875rem auto 0;
    font-size: .75rem;
    line-height: calc(38 /24);
  }
}

@media screen and (max-width: 360px) {
  html {
    font-size: 90%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  html {
    font-size: 100%;
  }

  .p-works_detail__prev {
    left: 3px;
    width: 13px;
  }

  .p-works_detail__next {
    right: 3px;
    width: 13px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  html {
    font-size: 100%;
  }

  .p-top__concept__ornament {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .p-top__todo__linkbtn__link {
    right: 20px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  html {
    font-size: 100%;
  }

  .p-top__scroll {
    left: 20px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
  html {
    font-size: 95%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  html {
    font-size: 90%;
  }
}

@media screen and (min-width: 769px) and (max-width: 900px) {
  html {
    font-size: 85%;
  }
}

@media screen and (min-width: 769px) and (max-width: 800px) {
  html {
    font-size: 80%;
  }
}

@media screen and (min-width: 421px) and (max-width: 768px) {
  html {
    font-size: 100%;
  }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
  html {
    font-size: 110%;
  }
}

@media screen and (min-width: 601px) and (max-width: 768px) {
  html {
    font-size: 120%;
  }
}