@charset "UTF-8";
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
@import url("https://fonts.googleapis.com/css2?family=Cinzel&family=Noto+Sans+JP:wght@300;500&family=Noto+Serif+JP&display=swap");
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: inherit; }

ul {
  list-style: none; }

button,
input,
select {
  margin: 0; }

html {
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: inherit; }

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

iframe {
  border: 0; }

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

td,
th {
  padding: 0; }

html {
  font-size: 75%; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 3.4vw; } }

body {
  position: relative;
  background-color: #141615;
  color: #eeeeee;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  min-height: 100vh;
  min-height: calc(100 * var(--vh, 1vh)); }

a {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer; }

p,
a {
  line-height: 1.8; }

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

strong {
  font-weight: 400; }

br.mobile {
  display: none; }
  @media screen and (max-width: 767px) {
    br.mobile {
      display: block; } }

button {
  display: block;
  background: none;
  border: none;
  padding: 0; }

input {
  background: none; }

.js-scroll-effect > *:not(.efctbar) {
  opacity: 0;
  transition: all 0.5s ease 0.8s; }

.js-scroll-effect .scroll-effect-bar_0,
.js-scroll-effect .scroll-effect-bar_1,
.js-scroll-effect .scroll-effect-bar_2,
.js-scroll-effect .scroll-effect-bar_3 {
  background-color: rgba(238, 238, 238, 0.6); }

.js-scroll-effect .scroll-effect-bar_0,
.js-scroll-effect .scroll-effect-bar_2 {
  height: 1px; }

.js-scroll-effect .scroll-effect-bar_1,
.js-scroll-effect .scroll-effect-bar_3 {
  width: 1px; }

.js-scroll-effect .scroll-effect-bar_0 {
  position: absolute;
  top: 0;
  right: -12px;
  left: -12px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease, opacity 0.4s ease 1s; }

.js-scroll-effect .scroll-effect-bar_1 {
  position: absolute;
  top: -12px;
  right: 0;
  bottom: -12px;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease 0.2s, opacity 0.4s ease 1s; }

.js-scroll-effect .scroll-effect-bar_2 {
  position: absolute;
  right: -12px;
  bottom: 0;
  left: -12px;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease 0.4s, opacity 0.4s ease 1s; }

.js-scroll-effect .scroll-effect-bar_3 {
  position: absolute;
  top: -12px;
  bottom: -12px;
  left: 0;
  transform-origin: bottom;
  transition: transform 0.3s ease 0.6s, opacity 0.4s ease 1s;
  transform: scaleY(0); }

.js-scroll-effect.is-scroll-effect-attached > *:not(.efctbar) {
  opacity: 1; }

.js-scroll-effect.is-scroll-effect-attached .scroll-effect-bar_0 {
  transform: scaleX(1);
  opacity: 0; }

.js-scroll-effect.is-scroll-effect-attached .scroll-effect-bar_1 {
  transform: scaleY(1);
  opacity: 0; }

.js-scroll-effect.is-scroll-effect-attached .scroll-effect-bar_2 {
  transform: scaleX(1);
  opacity: 0; }

.js-scroll-effect.is-scroll-effect-attached .scroll-effect-bar_3 {
  transform: scaleY(1);
  opacity: 0; }

.image-gallery-modal {
  visibility: hidden;
  opacity: 0;
  transition: all 0.6s ease;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: rgba(0, 0, 0, 0.8);
  z-index: 100; }
  .image-gallery-modal.is-active {
    visibility: visible;
    opacity: 1; }
  .image-gallery-modal_contents {
    width: 70%;
    max-width: 960px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .image-gallery-modal_contents {
        width: 90%; } }
    .image-gallery-modal_contents > img {
      width: auto;
      max-height: 58vh;
      object-fit: fill; }
  .image-gallery-modal_close {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5vw;
    height: 5vw;
    margin: 48px auto 0;
    border: solid 1px #eeeeee;
    border-radius: 100px;
    cursor: pointer;
    transition: border-color 0.6s ease; }
    .image-gallery-modal_close:hover {
      border-color: #ae7cff; }
      .image-gallery-modal_close:hover::before, .image-gallery-modal_close:hover::after {
        background-color: #ae7cff; }
    @media screen and (max-width: 767px) {
      .image-gallery-modal_close {
        width: 12vw;
        height: 12vw; } }
    .image-gallery-modal_close::before, .image-gallery-modal_close::after {
      content: "";
      display: block;
      width: 70%;
      height: 1px;
      background-color: #eeeeee;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      transition: background-color 0.6s ease; }
    .image-gallery-modal_close::before {
      transform: rotate(45deg); }
    .image-gallery-modal_close::after {
      transform: rotate(-45deg); }

.image-can-hover {
  position: relative;
  overflow: hidden;
  cursor: pointer; }
  .image-can-hover::after {
    content: "";
    display: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    transition: all 0.6s ease; }
  .image-can-hover > img {
    transition: all 0.6s ease; }
  .image-can-hover:hover::after {
    background: rgba(0, 0, 0, 0.4); }
  .image-can-hover:hover > img {
    transform: scale(1.08); }

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  position: fixed;
  top: 30px;
  right: 0;
  width: 80px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: "Cinzel", serif;
  z-index: 100; }
  @media screen and (max-width: 959px) {
    .header {
      display: none; } }
  .header_logo-link {
    width: 36px;
    margin-bottom: 16px; }
  .header_link {
    font-size: 13px;
    font-weight: bold;
    padding: 6px;
    transition: all 0.6s ease; }
    .header_link:hover {
      color: #ae7cff; }
    .header_link_sns {
      width: 40px;
      padding: 6px;
      margin-left: 2px; }
  .header_languages {
    position: relative;
    margin-top: 12px;
    margin-left: 2px; }
    .header_languages_button {
      width: 26px;
      cursor: pointer; }
    .header_languages_links {
      position: absolute;
      top: 0;
      right: 80px;
      writing-mode: initial;
      text-orientation: initial;
      font-family: "Noto Sans JP", sans-serif;
      font-size: 1.1rem;
      font-weight: 400; }
      @media screen and (max-width: 767px) {
        .header_languages_links {
          font-size: 3.7vw; } }
      .header_languages_links > a {
        margin-bottom: 8px;
        transform: translateX(180px);
        opacity: 0;
        transition: all 0.6s ease; }
        .header_languages_links > a:nth-child(2) {
          transition: opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s, color 0.6s ease; }
        .header_languages_links > a:hover {
          color: #ae7cff; }
      .header_languages_links.is-active > a {
        transform: translateX(0);
        opacity: 1; }
  .header_sp-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    visibility: hidden;
    opacity: 0;
    transition: all 0.6s ease; }
    @media screen and (max-width: 959px) {
      .header_sp-menu {
        display: flex; } }
    .header_sp-menu.is-visible {
      visibility: visible;
      opacity: 1; }
    .header_sp-menu_icon {
      font-family: "Cinzel", serif;
      display: none;
      position: fixed;
      top: 24px;
      right: 20px;
      background: radial-gradient(rgba(20, 22, 21, 0.5) 0%, rgba(0, 0, 0, 0) 70%);
      z-index: 100001;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      gap: 6px;
      display: none;
      cursor: pointer; }
      @media screen and (max-width: 959px) {
        .header_sp-menu_icon {
          display: block; } }
      .header_sp-menu_icon > span {
        width: 36px;
        height: 2px;
        background: #eeeeee;
        transition: all 0.6s ease; }
      @media screen and (max-width: 959px) {
        .header_sp-menu_icon {
          display: flex; } }
      .header_sp-menu_icon.is-menu-opened > span:nth-child(1) {
        transform: translateY(8px) rotate(45deg); }
      .header_sp-menu_icon.is-menu-opened > span:nth-child(2) {
        opacity: 0; }
      .header_sp-menu_icon.is-menu-opened > span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg); }
    .header_sp-menu_logo-link {
      width: 36px;
      margin-bottom: 2vh; }
    .header_sp-menu_link {
      margin-top: 1vh;
      font-size: 1.2rem;
      padding: 6px; }
      .header_sp-menu_link_sns {
        width: 26px;
        margin-bottom: 20px; }
    .header_sp-menu_sns-icons {
      margin-top: 2vh;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px; }
    .header_sp-menu_languages {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px; }

.footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99; }
  .footer_main {
    position: relative;
    height: 200px; }
    @media screen and (max-width: 959px) {
      .footer_main {
        height: 200px; } }
    @media screen and (max-width: 767px) {
      .footer_main {
        height: 100px; } }
    .footer_main::before {
      content: "";
      display: block;
      position: absolute;
      border-bottom-left-radius: 0;
      bottom: 0;
      width: 0;
      height: 0;
      /*2色パターン*/
      border-right: 100vw solid transparent;
      border-bottom: 200px solid #212121;
      z-index: 2; }
      @media screen and (max-width: 959px) {
        .footer_main::before {
          border-bottom: 200px solid #212121; } }
      @media screen and (max-width: 767px) {
        .footer_main::before {
          border-bottom: 100px solid #212121; } }
    .footer_main::after {
      content: "";
      display: block;
      position: absolute;
      border-bottom-left-radius: 0;
      bottom: 0;
      width: 0;
      height: 0;
      /*2色パターン*/
      border-left: 100vw solid transparent;
      border-bottom: 200px solid #363636;
      z-index: 1; }
      @media screen and (max-width: 959px) {
        .footer_main::after {
          border-bottom: 200px solid #363636; } }
      @media screen and (max-width: 767px) {
        .footer_main::after {
          border-bottom: 100px solid #363636; } }
  .footer_links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    right: 0;
    bottom: 24px;
    left: 0;
    z-index: 100;
    font-weight: 400;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .footer_links {
        bottom: -30px; } }
    .footer_links > a {
      transition: all 0.6s ease; }
      .footer_links > a:hover {
        color: #ae7cff; }
  .footer_copyright {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    text-align: center;
    z-index: 3;
    font-family: "Noto Serif JP", serif; }
    @media screen and (max-width: 767px) {
      .footer_copyright {
        bottom: -60px; } }
  .footer_spacer-box {
    height: 60px;
    background-color: #212121; }
    @media screen and (max-width: 767px) {
      .footer_spacer-box {
        height: 120px; } }

.pagination {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 1.4rem; }
  @media screen and (max-width: 767px) {
    .pagination {
      font-size: 4vw; } }
  .pagination_item {
    width: 20px;
    text-align: center;
    transition: all 0.6s ease; }
    .pagination_item:hover {
      color: #ae7cff; }
    .pagination_item.current {
      border-bottom: solid 2px #ae7cff; }

.top_fixed-kv {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: 100vh;
  background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/main-visual.png") center/cover;
  z-index: 1;
  opacity: 0;
  transition: opacity 1s ease, visibility 1s ease; }
  .top_fixed-kv.is-visible {
    opacity: 1; }
  .top_fixed-kv::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.15); }

.top_main {
  position: relative;
  z-index: 2; }

.top_kv {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 28px;
  height: 100vh;
  height: calc(100 * var(--vh, 1vh));
  opacity: 0;
  transition: all 1.8s ease; }
  @media screen and (max-width: 767px) {
    .top_kv {
      gap: 12px; } }
  .top_kv.is-visible {
    opacity: 1; }
  .top_kv_catchcopy {
    font-size: 42px;
    font-family: "Cinzel", serif;
    letter-spacing: 0.2vw; }
    @media screen and (max-width: 767px) {
      .top_kv_catchcopy {
        font-size: 7vw; } }
  .top_kv_logo {
    position: relative;
    width: 160px;
    padding: 20px; }
    @media screen and (max-width: 767px) {
      .top_kv_logo {
        width: 100px;
        padding: 12px; } }
  .top_kv_scroll {
    position: absolute;
    right: 0;
    bottom: -80px;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    margin: 0 auto; }
    .top_kv_scroll_text {
      transform: rotate(90deg);
      font-size: 1.1rem;
      font-weight: 400;
      cursor: pointer; }
      @media screen and (max-width: 767px) {
        .top_kv_scroll_text {
          font-size: 3.7vw; } }
    .top_kv_scroll_bar {
      width: 1px;
      height: 160px;
      background: #eeeeee;
      transform-origin: top;
      animation: scrollBarAnim 2s ease infinite;
      transform: scaleY(0);
      margin-top: 12px; }

@keyframes scrollBarAnim {
  0% {
    transform: scaleY(0); }
  100% {
    transform: scaleY(1); } }

.top_contents {
  background-color: rgba(20, 22, 21, 0.8);
  padding: 12vw 80px 180px; }
  @media screen and (max-width: 959px) {
    .top_contents {
      padding: 16vh 6.2% 220px; } }

.top_about {
  margin: 0 auto 12vw;
  max-width: 1280px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .top_about {
      margin: 0 auto 12vh; } }
  .top_about_left {
    width: 296px; }
    @media screen and (max-width: 767px) {
      .top_about_left {
        width: 100%; } }
  .top_about_right {
    width: calc(100% - (296px + 40px)); }
    @media screen and (max-width: 959px) {
      .top_about_right {
        width: 100%; } }
  .top_about_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .top_about_ttl {
        font-size: 16vw; } }
  @media screen and (max-width: 959px) {
    .top_about {
      display: block; } }
  @media screen and (max-width: 959px) {
    .top_about {
      display: flex; } }
  .top_about_philosophy {
    width: 296px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .top_about_philosophy {
        width: 100%; } }
    .top_about_philosophy_catchcopy {
      font-size: 2rem;
      font-family: "Cinzel", serif;
      margin-top: 20px;
      line-height: 1; }
      @media screen and (max-width: 767px) {
        .top_about_philosophy_catchcopy {
          font-size: 7vw; } }
    .top_about_philosophy_sub-theme {
      font-size: 1.1rem;
      font-family: "Noto Serif JP", serif; }
      @media screen and (max-width: 767px) {
        .top_about_philosophy_sub-theme {
          font-size: 3.7vw; } }
    .top_about_philosophy_bar {
      margin-top: 16px;
      height: 1px;
      background-color: #eeeeee; }
    .top_about_philosophy_description {
      margin-top: 16px;
      font-size: 1.1rem;
      font-family: "Noto Serif JP", serif; }
      @media screen and (max-width: 767px) {
        .top_about_philosophy_description {
          font-size: 3.7vw; } }
  .top_about_concepts {
    margin-top: 24px; }
  .top_about_concept {
    margin-top: 16px; }
    .top_about_concept_ttl {
      font-weight: 500; }
  .top_about_link-btn_pc, .top_about_link-btn_mobile {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    margin-top: 48px; }
    .top_about_link-btn_pc:hover, .top_about_link-btn_mobile:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }
  @media screen and (max-width: 959px) {
    .top_about_link-btn_pc {
      display: none; } }
  .top_about_link-btn_mobile {
    width: 100%;
    display: none; }
    @media screen and (max-width: 959px) {
      .top_about_link-btn_mobile {
        display: block; } }
  .top_about_link-btn_pc.is-selected {
    color: #ae7cff;
    border-color: #ae7cff; }
  @media screen and (max-width: 959px) {
    .top_about_right {
      width: calc(100% - (296px + 40px)); } }
  @media screen and (max-width: 767px) {
    .top_about_right {
      width: 100%; } }
  .top_about_image {
    width: 100%;
    height: 380px;
    cursor: pointer; }
    @media screen and (max-width: 959px) {
      .top_about_image {
        height: 396px; } }
    @media screen and (max-width: 767px) {
      .top_about_image {
        margin-top: 40px;
        height: 200px; } }
    .top_about_image > img {
      height: 100%;
      object-fit: cover; }

.top_works {
  margin: 0 auto 12vw;
  max-width: 1280px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .top_works {
      margin: 0 auto 12vh; } }
  .top_works_left {
    width: 296px; }
    @media screen and (max-width: 767px) {
      .top_works_left {
        width: 100%; } }
  .top_works_right {
    width: calc(100% - (296px + 40px)); }
    @media screen and (max-width: 959px) {
      .top_works_right {
        width: 100%; } }
  .top_works_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .top_works_ttl {
        font-size: 16vw; } }
  @media screen and (max-width: 959px) {
    .top_works {
      display: block; } }
  .top_works_desc {
    font-family: "Noto Serif JP", serif;
    margin-top: 12px; }
  .top_works_link-btn_pc, .top_works_link-btn_mobile {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    margin-top: 48px; }
    .top_works_link-btn_pc:hover, .top_works_link-btn_mobile:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }
  @media screen and (max-width: 959px) {
    .top_works_link-btn_pc {
      display: none; } }
  .top_works_link-btn_mobile {
    width: 100%;
    display: none; }
    @media screen and (max-width: 959px) {
      .top_works_link-btn_mobile {
        display: block; } }
  .top_works_images {
    display: flex;
    gap: 8px;
    flex-wrap: wrap; }
    @media screen and (max-width: 959px) {
      .top_works_images {
        margin-top: 40px; } }
    .top_works_images_item {
      position: relative;
      width: calc(50% - 4px); }
      .top_works_images_item_img-container {
        overflow: hidden;
        position: relative; }
        .top_works_images_item_img-container::before {
          content: "";
          display: block;
          padding-top: 62.5%; }
        .top_works_images_item_img-container > img {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          object-fit: cover; }
        .top_works_images_item_img-container > img {
          transition: all 0.8s ease; }
      .top_works_images_item_ttl {
        position: absolute;
        bottom: 4%;
        left: 4%;
        width: 92%;
        font-size: 1.4rem;
        font-weight: 400;
        color: #eeeeee;
        opacity: 0;
        transition: opacity 0.8s ease; }
        @media screen and (max-width: 767px) {
          .top_works_images_item_ttl {
            font-size: 4vw; } }
      .top_works_images_item_mask {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 0.8s ease; }
      .top_works_images_item:hover img {
        transform: scale(1.08); }
      .top_works_images_item:hover .top_works_images_item_ttl {
        opacity: 1; }
      .top_works_images_item:hover .top_works_images_item_mask {
        background-color: rgba(0, 0, 0, 0.6); }

.top_news {
  margin: 0 auto 12vw;
  max-width: 1280px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .top_news {
      margin: 0 auto 12vh; } }
  .top_news_left {
    width: 296px; }
    @media screen and (max-width: 767px) {
      .top_news_left {
        width: 100%; } }
  .top_news_right {
    width: calc(100% - (296px + 40px)); }
    @media screen and (max-width: 959px) {
      .top_news_right {
        width: 100%; } }
  .top_news_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .top_news_ttl {
        font-size: 16vw; } }
  @media screen and (max-width: 959px) {
    .top_news {
      display: block; } }
  .top_news_desc {
    font-family: "Noto Serif JP", serif; }
  .top_news_link-btn_pc, .top_news_link-btn_mobile {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    margin-top: 48px; }
    .top_news_link-btn_pc:hover, .top_news_link-btn_mobile:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }
  @media screen and (max-width: 959px) {
    .top_news_link-btn_pc {
      display: none; } }
  .top_news_link-btn_mobile {
    width: 100%;
    display: none; }
    @media screen and (max-width: 959px) {
      .top_news_link-btn_mobile {
        display: block; } }
  .top_news_images {
    display: flex;
    gap: 8px;
    flex-wrap: wrap; }
    @media screen and (max-width: 959px) {
      .top_news_images {
        margin-top: 40px; } }
    @media screen and (max-width: 767px) {
      .top_news_images {
        display: block; } }
    .top_news_images_item {
      width: calc(50% - 4px);
      position: relative; }
      .top_news_images_item:hover .top_news_images_item_img > img {
        transform: scale(1.08); }
      .top_news_images_item:hover .top_news_images_item_mask {
        background: rgba(0, 0, 0, 0.6); }
      .top_news_images_item_img {
        position: relative;
        overflow: hidden; }
        .top_news_images_item_img::before {
          content: "";
          display: block;
          padding-top: 62.5%; }
        .top_news_images_item_img > img {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          object-fit: cover; }
        .top_news_images_item_img > img {
          transition: all 0.8s ease; }
      .top_news_images_item_mask {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 0.8s ease; }
        @media screen and (max-width: 767px) {
          .top_news_images_item_mask {
            display: none; } }
      .top_news_images_item_texts {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 14% 4% 2%; }
        @media screen and (max-width: 767px) {
          .top_news_images_item_texts {
            padding: 0; } }
        .top_news_images_item_texts::before {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 70%, rgba(0, 0, 0, 0) 100%);
          pointer-events: none;
          z-index: 1; }
          @media screen and (max-width: 767px) {
            .top_news_images_item_texts::before {
              display: none; } }
        .top_news_images_item_texts > p {
          position: relative;
          z-index: 2; }
      @media screen and (max-width: 767px) {
        .top_news_images_item {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          margin-bottom: 36px;
          width: 100%; }
          .top_news_images_item_img {
            width: 30%;
            position: relative; }
            .top_news_images_item_img::before {
              content: "";
              display: block;
              padding-top: 100%; }
            .top_news_images_item_img > img {
              position: absolute;
              width: 100%;
              height: 100%;
              top: 0;
              right: 0;
              bottom: 0;
              left: 0;
              margin: auto;
              object-fit: cover; }
          .top_news_images_item_texts {
            position: relative;
            top: -6px;
            bottom: initial;
            left: initial;
            width: 68%; } }

.top_contact {
  margin: 0 auto 12vw;
  max-width: 1280px; }
  @media screen and (max-width: 767px) {
    .top_contact {
      margin: 0 auto 12vh; } }
  .top_contact_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .top_contact_ttl {
        font-size: 16vw; } }
  .top_contact_desc {
    text-align: center; }
  .top_contact_link-btn {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    width: 380px;
    margin: 40px auto 0; }
    .top_contact_link-btn:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }
    @media screen and (max-width: 959px) {
      .top_contact_link-btn {
        width: 100%; } }

.about {
  position: relative;
  z-index: 5; }
  .about h3,
  .about h4 {
    font-weight: 400; }
  .about_fixed-bkg_layer1, .about_fixed-bkg_layer2, .about_fixed-bkg_layer3, .about_fixed-bkg_layer4 {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: opacity 7s ease; }
    .about_fixed-bkg_layer1.is-hidden, .about_fixed-bkg_layer2.is-hidden, .about_fixed-bkg_layer3.is-hidden, .about_fixed-bkg_layer4.is-hidden {
      opacity: 0; }
  .about_fixed-bkg_layer1 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/about-bkg-1.png") center/cover no-repeat;
    z-index: 4; }
  .about_fixed-bkg_layer2 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/about-bkg-2.png") center/cover no-repeat;
    z-index: 3; }
  .about_fixed-bkg_layer3 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/about-bkg-3.png") center/cover no-repeat;
    z-index: 2; }
  .about_fixed-bkg_layer4 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/about-bkg-4.png") center/cover no-repeat;
    z-index: 1; }
  .about_fixed-bkg_layer1::after, .about_fixed-bkg_layer2::after, .about_fixed-bkg_layer3::after, .about_fixed-bkg_layer4::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  .about_kv {
    width: 100%; }
    @media screen and (max-width: 959px) {
      .about_kv {
        padding: 0; } }
    .about_kv_contents {
      position: relative; }
    .about_kv_image {
      position: relative;
      z-index: 1; }
      .about_kv_image::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(20, 22, 21, 0.2); }
  .about_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9;
    position: fixed;
    top: 40px;
    left: 80px;
    z-index: 2; }
    @media screen and (max-width: 767px) {
      .about_ttl {
        font-size: 16vw; } }
    .about_ttl.is-not-fixed {
      position: absolute;
      top: initial;
      right: initial;
      bottom: 0;
      left: 40px; }
    @media screen and (max-width: 959px) {
      .about_ttl {
        position: relative;
        top: initial;
        right: initial;
        left: initial;
        bottom: initial;
        margin-bottom: 40px; } }
  .about_contents {
    padding: 0 80px 180px;
    margin-top: 48px; }
    @media screen and (max-width: 959px) {
      .about_contents {
        padding: 0 6.2% 160px; } }
  .about_catchcopy {
    position: relative;
    display: flex; }
    @media screen and (max-width: 959px) {
      .about_catchcopy {
        display: block; } }
    .about_catchcopy_dummy-left, .about_catchcopy_contents {
      width: 50%; }
      @media screen and (max-width: 959px) {
        .about_catchcopy_dummy-left, .about_catchcopy_contents {
          width: 100%; } }
    .about_catchcopy_theme {
      margin-bottom: 40px; }
      .about_catchcopy_theme_en {
        font-size: 2rem;
        font-family: "Cinzel", serif; }
        @media screen and (max-width: 767px) {
          .about_catchcopy_theme_en {
            font-size: 7vw; } }
      .about_catchcopy_theme_ja {
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .about_catchcopy_theme_ja {
            font-size: 4vw; } }
    .about_catchcopy_description_block {
      margin-bottom: 32px; }
    .about_catchcopy_description_ttl {
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .about_catchcopy_description_ttl {
          font-size: 4vw; } }
    .about_catchcopy_description_txt {
      margin-top: 4px; }
  .about_company {
    margin-top: 112px;
    display: flex; }
    @media screen and (max-width: 959px) {
      .about_company {
        display: block;
        margin-top: 120px; } }
    .about_company_ttl {
      font-size: 6rem;
      font-family: "Cinzel", serif;
      color: #adadad;
      line-height: 0.9; }
      @media screen and (max-width: 767px) {
        .about_company_ttl {
          font-size: 16vw; } }
      @media screen and (max-width: 959px) {
        .about_company_ttl {
          margin-left: 0;
          margin-bottom: 40px; } }
      .about_company_ttl.is-fixed {
        position: fixed;
        top: 40px;
        left: 80px;
        margin-left: 0; }
    .about_company_dummy-left, .about_company_contents {
      width: 50%; }
      @media screen and (max-width: 959px) {
        .about_company_dummy-left, .about_company_contents {
          width: 100%; } }
    .about_company_info_ttl {
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .about_company_info_ttl {
          font-size: 4vw; } }
    .about_company_info_list {
      margin-top: 4px; }
    .about_company_info_item {
      display: flex;
      gap: 12px;
      margin-bottom: 4px; }
      .about_company_info_item_head {
        width: 120px; }
      .about_company_info_item_body {
        width: calc(100% - 120px); }
    .about_company_shareholders_ttl {
      margin-top: 24px;
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .about_company_shareholders_ttl {
          font-size: 4vw; } }
    .about_company_shareholders_list > li {
      margin-top: 6px; }
    .about_company_board-members_ttl {
      margin-top: 48px;
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .about_company_board-members_ttl {
          font-size: 4vw; } }
    .about_company_board-members_list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
    .about_company_board-members_item {
      display: flex;
      gap: 16px;
      margin-top: 12px;
      cursor: pointer;
      transition: all 0.5s;
      width: 48%; }
      .about_company_board-members_item:hover {
        color: #ae7cff; }
        .about_company_board-members_item:hover .about_company_board-members_image > img {
          transform: scale(1.1); }
    .about_company_board-members_image {
      width: 60%;
      position: relative;
      overflow: hidden; }
      .about_company_board-members_image::before {
        content: "";
        display: block;
        padding-top: 100%; }
      .about_company_board-members_image > img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover; }
      .about_company_board-members_image > img {
        transition: all 0.5s; }
    .about_company_board-members_info {
      width: 75%; }
    .about_company_board-members_role {
      font-size: 1.1rem; }
      @media screen and (max-width: 767px) {
        .about_company_board-members_role {
          font-size: 3.7vw; } }
    .about_company_board-members_name {
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .about_company_board-members_name {
          font-size: 4vw; } }
  .about_contact {
    margin: 0 auto 12vw;
    max-width: 1280px;
    margin-top: 160px; }
    @media screen and (max-width: 767px) {
      .about_contact {
        margin: 0 auto 12vh; } }
    @media screen and (max-width: 959px) {
      .about_contact {
        margin-top: 120px; } }
    .about_contact_ttl {
      font-size: 6rem;
      font-family: "Cinzel", serif;
      color: #adadad;
      line-height: 0.9;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .about_contact_ttl {
          font-size: 16vw; } }
    .about_contact_desc {
      text-align: center;
      color: #eeeeee; }
    .about_contact_link-btn {
      padding: 2px 0;
      text-align: center;
      border: solid 1px #eeeeee;
      color: #eeeeee;
      font-weight: 500;
      transition: all 0.4s ease;
      width: 380px;
      margin: 40px auto 0; }
      .about_contact_link-btn:hover {
        border: solid 1px #ae7cff;
        color: #ae7cff; }
      @media screen and (max-width: 959px) {
        .about_contact_link-btn {
          width: 100%; } }
  .about_board-member-modal {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition: all 0.6s ease; }
    .about_board-member-modal.is-visible {
      visibility: visible;
      opacity: 1; }
    .about_board-member-modal_box {
      width: 85%;
      max-width: 960px; }
    .about_board-member-modal_contents {
      width: 80%;
      margin: 0 auto;
      display: none; }
      .about_board-member-modal_contents.is-active {
        display: flex;
        justify-content: space-between;
        align-items: flex-start; }
      @media screen and (max-width: 959px) {
        .about_board-member-modal_contents {
          width: 100%; } }
    .about_board-member-modal_thumbnail {
      width: 30%;
      position: relative; }
      .about_board-member-modal_thumbnail::before {
        content: "";
        display: block;
        padding-top: 100%; }
      .about_board-member-modal_thumbnail > img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover; }
      @media screen and (max-width: 959px) {
        .about_board-member-modal_thumbnail {
          width: 40%; } }
    .about_board-member-modal_texts {
      width: 65%; }
      @media screen and (max-width: 959px) {
        .about_board-member-modal_texts {
          width: 56%; } }
    .about_board-member-modal_role {
      font-size: 1.4rem;
      margin-bottom: 6px; }
      @media screen and (max-width: 767px) {
        .about_board-member-modal_role {
          font-size: 4vw; } }
    .about_board-member-modal_name {
      margin-bottom: 32px;
      font-size: 2rem; }
      @media screen and (max-width: 767px) {
        .about_board-member-modal_name {
          font-size: 7vw; } }
    @media screen and (max-width: 767px) {
      .about_board-member-modal_description {
        display: none; } }
    .about_board-member-modal_description_sp {
      margin-top: 24px;
      display: none; }
      @media screen and (max-width: 767px) {
        .about_board-member-modal_description_sp.is-active {
          display: block; } }
    .about_board-member-modal_close {
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      width: 5vw;
      height: 5vw;
      margin-top: 48px;
      border: solid 1px #eeeeee;
      border-radius: 100px;
      cursor: pointer;
      transition: border-color 0.6s ease; }
      .about_board-member-modal_close:hover {
        border-color: #ae7cff; }
        .about_board-member-modal_close:hover::before, .about_board-member-modal_close:hover::after {
          background-color: #ae7cff; }
      @media screen and (max-width: 767px) {
        .about_board-member-modal_close {
          width: 12vw;
          height: 12vw; } }
      .about_board-member-modal_close::before, .about_board-member-modal_close::after {
        content: "";
        display: block;
        width: 70%;
        height: 1px;
        background-color: #eeeeee;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        transition: background-color 0.6s ease; }
      .about_board-member-modal_close::before {
        transform: rotate(45deg); }
      .about_board-member-modal_close::after {
        transform: rotate(-45deg); }

.tyffonium {
  padding: 80px 80px 180px; }
  @media screen and (max-width: 767px) {
    .tyffonium {
      padding: 80px 6.2% 180px; } }
  .tyffonium_contents {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse; }
    @media screen and (max-width: 767px) {
      .tyffonium_contents {
        display: block; } }
  .tyffonium_main-image_container {
    overflow: hidden;
    cursor: pointer;
    transition: all 0.6s ease; }
    .tyffonium_main-image_container > img {
      transition: all 0.6s ease; }
    .tyffonium_main-image_container:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      transition: all 0.6s ease; }
    .tyffonium_main-image_container:hover:after {
      background-color: rgba(0, 0, 0, 0.4); }
    .tyffonium_main-image_container:hover > img {
      transform: scale(1.08); }
  .tyffonium_left, .tyffonium_right {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .tyffonium_left, .tyffonium_right {
        width: 100%; } }
  .tyffonium_left {
    position: relative; }
  .tyffonium_fixed-contents {
    position: fixed;
    left: 80px;
    width: calc(50% - 80px);
    min-height: 100vh; }
    .tyffonium_fixed-contents::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/tyffonium-bkg.png");
      background-size: 90%;
      background-position: center;
      background-repeat: no-repeat;
      opacity: 0.6;
      z-index: -1;
      pointer-events: none; }
    .tyffonium_fixed-contents.is-not-fixed {
      position: absolute;
      top: initial;
      right: initial;
      bottom: 0;
      left: 0;
      width: 100%; }
    @media screen and (max-width: 767px) {
      .tyffonium_fixed-contents {
        position: relative;
        width: 100%;
        background: none;
        min-height: initial;
        height: 500px;
        left: initial; } }
  .tyffonium_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .tyffonium_ttl {
        font-size: 16vw; } }
    @media screen and (max-width: 767px) {
      .tyffonium_ttl {
        display: none; } }
    .tyffonium_ttl_sp {
      display: none;
      margin-bottom: 24px; }
      @media screen and (max-width: 767px) {
        .tyffonium_ttl_sp {
          display: block;
          font-size: 6rem;
          font-family: "Cinzel", serif;
          color: #adadad;
          line-height: 0.9;
          font-size: 12vw !important; } }
  @media screen and (max-width: 767px) and (max-width: 767px) {
    .tyffonium_ttl_sp {
      font-size: 16vw; } }
  .tyffonium_logo {
    width: 320px;
    margin: 260px auto 0; }
    @media screen and (max-width: 767px) {
      .tyffonium_logo {
        width: 260px;
        margin-top: 0;
        padding-top: 130px; } }
  .tyffonium_link {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    width: 60%;
    margin: 24px auto; }
    .tyffonium_link:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }
  .tyffonium_about_ttl {
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 4px; }
    @media screen and (max-width: 767px) {
      .tyffonium_about_ttl {
        font-size: 4vw; } }
  .tyffonium_about_texts {
    margin-top: 24px; }
    .tyffonium_about_texts > p {
      margin-bottom: 16px; }
  .tyffonium_about_capture-images {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 48px; }
    .tyffonium_about_capture-images_item {
      width: calc(50% - calc(8px / 2));
      cursor: pointer; }
      .tyffonium_about_capture-images_item_container {
        overflow: hidden;
        position: relative; }
        .tyffonium_about_capture-images_item_container::before {
          content: "";
          display: block;
          padding-top: 80%; }
        .tyffonium_about_capture-images_item_container > img {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          object-fit: cover; }
        .tyffonium_about_capture-images_item_container > img {
          transition: all 0.6s ease; }
        .tyffonium_about_capture-images_item_container:after {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          transition: all 0.6s ease; }
        .tyffonium_about_capture-images_item_container:hover:after {
          background-color: rgba(0, 0, 0, 0.4); }
        .tyffonium_about_capture-images_item_container:hover > img {
          transform: scale(1.08); }
  .tyffonium_about_bottom-image {
    margin-top: 10px;
    cursor: pointer; }
    .tyffonium_about_bottom-image_container {
      overflow: hidden; }
      .tyffonium_about_bottom-image_container > img {
        transition: all 0.6s ease; }
      .tyffonium_about_bottom-image_container:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 0.6s ease; }
      .tyffonium_about_bottom-image_container:hover:after {
        background-color: rgba(0, 0, 0, 0.4); }
      .tyffonium_about_bottom-image_container:hover > img {
        transform: scale(1.08); }
  .tyffonium_contact {
    margin: 0 auto 12vw;
    max-width: 1280px;
    margin-top: 160px; }
    @media screen and (max-width: 767px) {
      .tyffonium_contact {
        margin: 0 auto 12vh; } }
    @media screen and (max-width: 959px) {
      .tyffonium_contact {
        margin-top: 120px; } }
    @media screen and (max-width: 767px) {
      .tyffonium_contact {
        margin-top: 20px; } }
    .tyffonium_contact_ttl {
      font-size: 6rem;
      font-family: "Cinzel", serif;
      color: #adadad;
      line-height: 0.9;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .tyffonium_contact_ttl {
          font-size: 16vw; } }
    .tyffonium_contact_desc {
      text-align: center;
      color: #eeeeee; }
    .tyffonium_contact_link-btn {
      padding: 2px 0;
      text-align: center;
      border: solid 1px #eeeeee;
      color: #eeeeee;
      font-weight: 500;
      transition: all 0.4s ease;
      width: 380px;
      margin: 40px auto 0; }
      .tyffonium_contact_link-btn:hover {
        border: solid 1px #ae7cff;
        color: #ae7cff; }
      @media screen and (max-width: 959px) {
        .tyffonium_contact_link-btn {
          width: 100%; } }

.news {
  min-height: 100vh; }
  .news_fixed-bkg {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100vh;
    height: calc(100 * var(--vh, 1vh));
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/news-bkg.png") center/cover no-repeat;
    z-index: 1; }
  .news_contents {
    position: relative;
    padding: 80px 80px 220px;
    background-color: rgba(20, 22, 21, 0.8);
    z-index: 2;
    min-height: 100vh; }
    @media screen and (max-width: 767px) {
      .news_contents {
        padding: 80px 6.2% 180px; } }
  .news_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .news_ttl {
        font-size: 16vw; } }
  .news_bar {
    height: 1px;
    background-color: #adadad;
    margin-top: 40px; }
  .news_list {
    margin: 80px auto;
    max-width: 960px; }
  .news_item {
    margin-bottom: 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.6s ease; }
    @media screen and (max-width: 767px) {
      .news_item {
        align-items: flex-start; } }
    .news_item:hover {
      color: #ae7cff; }
    .news_item_thumbnail {
      width: 15%;
      position: relative; }
      .news_item_thumbnail::before {
        content: "";
        display: block;
        padding-top: 100%; }
      .news_item_thumbnail > img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover; }
      @media screen and (max-width: 767px) {
        .news_item_thumbnail {
          width: 25%; } }
    .news_item_body {
      width: 82%; }
      @media screen and (max-width: 767px) {
        .news_item_body {
          width: 70%; } }
      .news_item_body_ttl {
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .news_item_body_ttl {
            font-size: 4vw; } }
        @media screen and (max-width: 767px) {
          .news_item_body_ttl {
            font-size: 3.2vw; } }
      .news_item_body_date {
        margin-top: 4px; }
        @media screen and (max-width: 767px) {
          .news_item_body_date {
            font-size: 3vw; } }
      .news_item_body_text {
        margin-top: 12px; }
        @media screen and (max-width: 767px) {
          .news_item_body_text {
            font-size: 3vw; } }

.news-detail {
  min-height: 100vh; }
  .news-detail_kv {
    width: 100%;
    padding: 0 80px; }
    @media screen and (max-width: 959px) {
      .news-detail_kv {
        padding: 0; } }
  .news-detail_texts {
    padding: 48px 80px 380px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 4%; }
    @media screen and (max-width: 767px) {
      .news-detail_texts {
        padding: 48px 6.2% 180px;
        display: block; } }
  .news-detail_left, .news-detail_right {
    width: 48%; }
  @media screen and (max-width: 959px) {
    .news-detail_right {
      margin-top: 24px; } }
  .news-detail_ttl {
    font-size: 1.4rem; }
    @media screen and (max-width: 767px) {
      .news-detail_ttl {
        font-size: 4vw; } }

.works {
  min-height: 100vh;
  position: relative;
  z-index: 5; }
  .works_fixed-bkg_layer1, .works_fixed-bkg_layer2, .works_fixed-bkg_layer3, .works_fixed-bkg_layer4 {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: opacity 7s ease; }
    .works_fixed-bkg_layer1.is-hidden, .works_fixed-bkg_layer2.is-hidden, .works_fixed-bkg_layer3.is-hidden, .works_fixed-bkg_layer4.is-hidden {
      opacity: 0; }
  .works_fixed-bkg_layer1 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/works-bkg-1.png") center/cover no-repeat;
    z-index: 4; }
  .works_fixed-bkg_layer2 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/works-bkg-2.png") center/cover no-repeat;
    z-index: 3; }
  .works_fixed-bkg_layer3 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/works-bkg-3.png") center/cover no-repeat;
    z-index: 2; }
  .works_fixed-bkg_layer4 {
    background: url("/wp-content/themes/CorporateSite2021/wp-theme/images/works-bkg-4.png") center/cover no-repeat;
    z-index: 1; }
  .works_fixed-bkg_layer1::after, .works_fixed-bkg_layer2::after, .works_fixed-bkg_layer3::after, .works_fixed-bkg_layer4::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  .works_kv {
    width: 100%; }
    @media screen and (max-width: 959px) {
      .works_kv {
        padding: 0; } }
    .works_kv_contents {
      position: relative; }
    .works_kv_image {
      position: relative;
      z-index: 1; }
      .works_kv_image::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(20, 22, 21, 0.2); }
  .works_contents {
    padding: 0 80px 16vw;
    max-width: 1280px;
    margin: 0 auto 160px; }
    @media screen and (max-width: 767px) {
      .works_contents {
        padding: 0 6.2% 180px; } }
  .works_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9;
    position: absolute;
    top: 40px;
    left: calc(40px + 80px);
    z-index: 2;
    color: #eeeeee; }
    @media screen and (max-width: 767px) {
      .works_ttl {
        font-size: 16vw; } }
  .works_sorter {
    margin-top: 40px;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    font-family: "Cinzel", serif;
    white-space: nowrap;
    width: 100%;
    position: relative;
    z-index: 2;
    padding-right: 120px; }
    @media screen and (max-width: 767px) {
      .works_sorter {
        font-size: 3.7vw; } }
    @media screen and (max-width: 767px) {
      .works_sorter {
        overflow-x: scroll; } }
    .works_sorter_container {
      width: 100%;
      position: relative; }
      .works_sorter_container::after {
        content: "";
        display: none;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 35%;
        z-index: 2;
        pointer-events: none;
        background: linear-gradient(to right, rgba(0, 0, 0, 0), #141615); }
        @media screen and (max-width: 767px) {
          .works_sorter_container::after {
            display: block; } }
    .works_sorter_item {
      transition: all 1s ease;
      position: relative;
      z-index: 2;
      border-bottom: solid 1px transparent;
      padding: 0 10px 2px; }
      .works_sorter_item:first-child {
        padding-left: 0; }
      .works_sorter_item:hover {
        color: #ae7cff;
        border-color: #ae7cff; }
      .works_sorter_item.current {
        border-color: #ae7cff; }
    .works_sorter_bar {
      position: relative;
      z-index: 1;
      height: 1px;
      background-color: #eeeeee;
      top: -1px; }
  .works_co-creation-catchcopy {
    margin-top: 32px;
    font-family: "Noto Serif JP", serif;
    font-size: 1.4rem; }
    @media screen and (max-width: 767px) {
      .works_co-creation-catchcopy {
        font-size: 4vw; } }
  .works_item {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse;
    max-width: 1080px;
    margin: 64px auto 0;
    visibility: hidden;
    opacity: 0;
    transition: all 2s ease; }
    .works_item:nth-child(even) {
      flex-direction: row; }
    .works_item:nth-child(odd) .works_item_logo, .works_item:nth-child(odd) .works_item_category, .works_item:nth-child(odd) .works_item_ttl, .works_item:nth-child(odd) .works_item_desc {
      text-align: right; }
    @media screen and (max-width: 767px) {
      .works_item:nth-child(odd) .works_item_logo, .works_item:nth-child(odd) .works_item_category, .works_item:nth-child(odd) .works_item_ttl, .works_item:nth-child(odd) .works_item_desc {
        text-align: left; }
      .works_item:nth-child(odd) .works_item_ttl {
        margin-top: 6px; } }
    .works_item:nth-child(odd) .works_item_more {
      margin-right: 0;
      margin-left: auto; }
    .works_item.active {
      visibility: visible;
      opacity: 1; }
    @media screen and (max-width: 767px) {
      .works_item {
        display: block; } }
    .works_item_left {
      width: 46%; }
      @media screen and (max-width: 767px) {
        .works_item_left {
          width: 100%; } }
    .works_item_right {
      width: 50%; }
      @media screen and (max-width: 767px) {
        .works_item_right {
          width: 100%; } }
    .works_item_logo {
      height: 50px;
      margin-bottom: 16px; }
      .works_item_logo.square {
        height: 100px; }
      @media screen and (max-width: 959px) {
        .works_item_logo {
          display: none; } }
      .works_item_logo > img {
        height: 100%;
        width: auto; }
    .works_item_category {
      font-weight: 400;
      margin-bottom: 4px; }
    .works_item_ttl {
      font-size: 1.4rem;
      font-weight: 400; }
      @media screen and (max-width: 767px) {
        .works_item_ttl {
          font-size: 4vw; } }
    .works_item_desc {
      margin-bottom: 24px; }
    .works_item_more {
      padding: 2px 0;
      text-align: center;
      border: solid 1px #eeeeee;
      color: #eeeeee;
      font-weight: 500;
      transition: all 0.4s ease;
      width: 200px;
      margin-bottom: 24px; }
      .works_item_more:hover {
        border: solid 1px #ae7cff;
        color: #ae7cff; }
      @media screen and (max-width: 767px) {
        .works_item_more {
          width: 100%; } }
    .works_item_thumbnail {
      position: relative;
      overflow: hidden; }
      .works_item_thumbnail::before {
        content: "";
        display: block;
        padding-top: 58%; }
      .works_item_thumbnail > img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover; }
      .works_item_thumbnail > img {
        transition: all 0.8s ease; }
      .works_item_thumbnail::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 0.8s ease; }
      .works_item_thumbnail:hover::after {
        background: rgba(0, 0, 0, 0.4); }
      .works_item_thumbnail:hover > img {
        transform: scale(1.08); }
      .works_item_thumbnail_logo {
        display: none;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        height: 70px;
        text-align: center;
        pointer-events: none; }
        .works_item_thumbnail_logo > img {
          width: auto;
          height: 100%; }
        .works_item_thumbnail_logo.square {
          height: 110px; }
        @media screen and (max-width: 959px) {
          .works_item_thumbnail_logo {
            display: block; } }

.works-detail {
  min-height: 100vh; }
  .works-detail_kv {
    width: 100%;
    padding: 0 80px 0; }
    @media screen and (max-width: 959px) {
      .works-detail_kv {
        padding: 0; } }
    .works-detail_kv_image, .works-detail_kv_video {
      width: 100%; }
  .works-detail_texts {
    padding: 60px 80px 380px; }
    @media screen and (max-width: 767px) {
      .works-detail_texts {
        padding: 48px 6.2% 300px;
        display: block; } }
  .works-detail_reservation-button {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100px;
    height: 100px;
    border-radius: 100px;
    background-color: #803dee; }
    .works-detail_reservation-button > p {
      font-size: 1.4rem;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .works-detail_reservation-button > p {
          font-size: 4vw; } }
  .works-detail_captures {
    margin-top: 96px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
    .works-detail_captures_item {
      position: relative;
      position: relative;
      width: 24%;
      overflow: hidden;
      cursor: pointer; }
      .works-detail_captures_item::before {
        content: "";
        display: block;
        padding-top: 100%; }
      .works-detail_captures_item > img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover; }
      .works-detail_captures_item::after {
        content: "";
        display: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        pointer-events: none;
        transition: all 0.6s ease; }
      .works-detail_captures_item > img {
        transition: all 0.6s ease; }
      .works-detail_captures_item:hover::after {
        background: rgba(0, 0, 0, 0.4); }
      .works-detail_captures_item:hover > img {
        transform: scale(1.08); }
      @media screen and (max-width: 767px) {
        .works-detail_captures_item {
          width: 49%;
          margin-top: 2%; } }

.contact {
  min-height: 100vh;
  padding: 80px 80px 320px; }
  @media screen and (max-width: 767px) {
    .contact {
      padding: 80px 6.2% 180px; } }
  .contact_contents {
    margin: 0 auto;
    max-width: 960px; }
  .contact_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .contact_ttl {
        font-size: 16vw; } }
  .contact_text {
    text-align: center; }
  .contact_form {
    padding: 60px 80px 0; }
    @media screen and (max-width: 767px) {
      .contact_form {
        padding: 40px 0 100px; } }
    .contact_form_item {
      display: flex;
      align-items: flex-start;
      font-size: 1.1rem;
      font-weight: 400;
      margin: 0 auto 24px;
      max-width: 720px; }
      @media screen and (max-width: 767px) {
        .contact_form_item {
          font-size: 3.7vw; } }
      @media screen and (max-width: 767px) {
        .contact_form_item {
          display: block;
          margin-bottom: 36px; } }
      .contact_form_item > label {
        display: block;
        width: 25%;
        margin-right: 5%;
        margin-top: 4px; }
        @media screen and (max-width: 767px) {
          .contact_form_item > label {
            width: 100%;
            margin-bottom: 6px; } }
      .contact_form_item .contact_inputs {
        width: 77%; }
        @media screen and (max-width: 767px) {
          .contact_form_item .contact_inputs {
            width: 100%; } }
        .contact_form_item .contact_inputs > input,
        .contact_form_item .contact_inputs > select,
        .contact_form_item .contact_inputs > textarea {
          width: 100%;
          background-color: #dddddd;
          font-size: 16px;
          padding: 6px;
          border: none; }
          @media screen and (max-width: 767px) {
            .contact_form_item .contact_inputs > input,
            .contact_form_item .contact_inputs > select,
            .contact_form_item .contact_inputs > textarea {
              width: 100%; } }
        .contact_form_item .contact_inputs > input[type="file"] {
          background-color: initial; }
        .contact_form_item .contact_inputs > textarea {
          height: 340px; }
    .contact_form_agree-to-policy {
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 40px;
      font-size: 1.1rem;
      font-weight: 400; }
      @media screen and (max-width: 767px) {
        .contact_form_agree-to-policy {
          font-size: 3.7vw; } }
      .contact_form_agree-to-policy > input {
        display: block;
        width: 18px;
        height: 18px;
        margin-right: 8px; }
      .contact_form_agree-to-policy > label {
        cursor: pointer;
        transition: all 0.6s ease; }
        .contact_form_agree-to-policy > label:hover {
          color: #ae7cff; }
    .contact_form_send {
      padding: 2px 0;
      text-align: center;
      border: solid 1px #eeeeee;
      color: #eeeeee;
      font-weight: 500;
      transition: all 0.4s ease;
      font-size: 1.4rem;
      width: 320px;
      margin: 40px auto 0;
      cursor: pointer; }
      .contact_form_send:hover {
        border: solid 1px #ae7cff;
        color: #ae7cff; }
      @media screen and (max-width: 767px) {
        .contact_form_send {
          font-size: 4vw; } }
      .contact_form_send:disabled {
        opacity: 0.5; }
        .contact_form_send:disabled:hover {
          color: #eeeeee; }
  .contact_error {
    color: #ff5943;
    font-weight: 400; }
  .contact_total-error {
    margin-top: 16px;
    color: #ff5943;
    font-weight: 400;
    text-align: center; }
  .contact_error-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    .contact_error-modal_content {
      padding: 40px 20px;
      background: #212121;
      width: 70%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column; }
      @media screen and (max-width: 767px) {
        .contact_error-modal_content {
          width: 90%; } }
      .contact_error-modal_content > p,
      .contact_error-modal_content > a {
        text-align: center;
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .contact_error-modal_content > p,
          .contact_error-modal_content > a {
            font-size: 4vw; } }
      .contact_error-modal_content > p {
        margin-bottom: 16px; }
      .contact_error-modal_content > a {
        text-decoration: underline; }
    .contact_error-modal_close {
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      width: 5vw;
      height: 5vw;
      margin-top: 48px;
      border: solid 1px #eeeeee;
      border-radius: 100px;
      cursor: pointer;
      transition: border-color 0.6s ease; }
      .contact_error-modal_close:hover {
        border-color: #ae7cff; }
        .contact_error-modal_close:hover::before, .contact_error-modal_close:hover::after {
          background-color: #ae7cff; }
      @media screen and (max-width: 767px) {
        .contact_error-modal_close {
          width: 12vw;
          height: 12vw; } }
      .contact_error-modal_close::before, .contact_error-modal_close::after {
        content: "";
        display: block;
        width: 70%;
        height: 1px;
        background-color: #eeeeee;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        transition: background-color 0.6s ease; }
      .contact_error-modal_close::before {
        transform: rotate(45deg); }
      .contact_error-modal_close::after {
        transform: rotate(-45deg); }

.contact-completed {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: 22vh; }
  @media screen and (max-width: 767px) {
    .contact-completed {
      padding-bottom: 360px; } }
  .contact-completed_logo {
    width: 60px;
    margin-bottom: 44px; }
  .contact-completed_title {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .contact-completed_title {
        font-size: 16vw; } }
    @media screen and (max-width: 767px) {
      .contact-completed_title {
        font-size: 50px; } }
  .contact-completed_message {
    font-size: 1.4rem;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .contact-completed_message {
        font-size: 4vw; } }
  .contact-completed_to-top {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    width: 320px; }
    .contact-completed_to-top:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }

.privacy {
  min-height: 100vh;
  padding: 80px 80px 320px; }
  @media screen and (max-width: 767px) {
    .privacy {
      padding: 80px 6.2% 180px; } }
  .privacy_contents {
    margin: 0 auto;
    max-width: 960px; }
  .privacy_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .privacy_ttl {
        font-size: 16vw; } }

.terms {
  min-height: 100vh;
  padding: 80px 80px 320px; }
  @media screen and (max-width: 767px) {
    .terms {
      padding: 80px 6.2% 180px; } }
  .terms_contents {
    margin: 0 auto;
    max-width: 960px; }
  .terms_ttl {
    font-size: 6rem;
    font-family: "Cinzel", serif;
    color: #adadad;
    line-height: 0.9; }
    @media screen and (max-width: 767px) {
      .terms_ttl {
        font-size: 16vw; } }

.page-404 {
  background-color: #141615;
  color: #eeeeee;
  height: 100vh;
  font-family: "Cinzel", serif;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 24px; }
  .page-404 > h1 {
    font-size: 6rem; }
    @media screen and (max-width: 767px) {
      .page-404 > h1 {
        font-size: 16vw; } }
  .page-404 > p {
    font-size: 1.4rem;
    margin-bottom: 10vh; }
    @media screen and (max-width: 767px) {
      .page-404 > p {
        font-size: 4vw; } }

.works-detail .wp-content {
  font-family: "Noto Sans JP", sans-serif; }
  .works-detail .wp-content .works_detail_2columns {
    display: flex;
    flex-direction: row-reverse; }
    .works-detail .wp-content .works_detail_2columns > .su-column {
      width: 50%; }
    @media screen and (max-width: 767px) {
      .works-detail .wp-content .works_detail_2columns {
        display: block; }
        .works-detail .wp-content .works_detail_2columns > .su-column {
          width: 100%; }
          .works-detail .wp-content .works_detail_2columns > .su-column:nth-child(2) {
            margin-top: 60px; } }
  .works-detail .wp-content h1 {
    font-family: "Cinzel", serif;
    font-size: 2rem; }
    @media screen and (max-width: 767px) {
      .works-detail .wp-content h1 {
        font-size: 7vw; } }
  .works-detail .wp-content h2 {
    font-size: 1.4rem; }
    @media screen and (max-width: 767px) {
      .works-detail .wp-content h2 {
        font-size: 4vw; } }
  .works-detail .wp-content h3 {
    font-size: 1.4rem;
    margin-bottom: 16px; }
    @media screen and (max-width: 767px) {
      .works-detail .wp-content h3 {
        font-size: 4vw; } }
  .works-detail .wp-content p {
    margin-bottom: 12px; }
  .works-detail .wp-content img {
    width: initial; }
  .works-detail .wp-content .link-btn {
    padding: 2px 0;
    text-align: center;
    border: solid 1px #eeeeee;
    color: #eeeeee;
    font-weight: 500;
    transition: all 0.4s ease;
    width: 240px; }
    .works-detail .wp-content .link-btn:hover {
      border: solid 1px #ae7cff;
      color: #ae7cff; }

.navigation.pagination > .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px; }
  .navigation.pagination > .nav-links > .page-numbers {
    width: 20px;
    text-align: center;
    transition: all 0.6s ease; }
    .navigation.pagination > .nav-links > .page-numbers:hover {
      color: #ae7cff; }
    .navigation.pagination > .nav-links > .page-numbers.current {
      border-bottom: solid 2px #ae7cff; }
    .navigation.pagination > .nav-links > .page-numbers.prev, .navigation.pagination > .nav-links > .page-numbers.next {
      display: none; }

.navigation.pagination .screen-reader-text {
  display: none; }

.privacy .wp-content {
  margin: 80px auto 0; }
  .privacy .wp-content p {
    margin-bottom: 12px; }
  .privacy .wp-content h2 {
    font-size: 2rem;
    font-weight: 400; }
    @media screen and (max-width: 767px) {
      .privacy .wp-content h2 {
        font-size: 7vw; } }
  .privacy .wp-content h3 {
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .privacy .wp-content h3 {
        font-size: 4vw; } }

.terms .wp-content {
  margin: 80px auto 0; }
  .terms .wp-content p {
    margin-bottom: 12px; }
  .terms .wp-content h2 {
    font-size: 2rem;
    font-weight: 400; }
    @media screen and (max-width: 767px) {
      .terms .wp-content h2 {
        font-size: 7vw; } }
  .terms .wp-content h3 {
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .terms .wp-content h3 {
        font-size: 4vw; } }
