@charset "UTF-8";
@media screen and (min-width: 768px) {
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }
}
.btn {
  align-items: center;
  background-color: white;
  border: 1px solid #707070;
  color: black;
  display: flex;
  font-size: 14px;
  height: 58px;
  justify-content: center;
  letter-spacing: 2.1px;
  width: 298px;
}
.btn p {
  position: absolute;
  transform: translate(0px, 2px);
}
.btn p .arrow_right {
  border: 1px solid currentColor;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  display: inline-block;
  height: 6px;
  margin-left: 15px;
  position: relative;
  width: 36px;
}
.btn p .arrow_right::before {
  border: 1px solid currentColor;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  box-sizing: border-box;
  content: "";
  height: 14px;
  position: absolute;
  right: 0;
  top: -7px;
  transform-origin: bottom right;
  transform: rotate(45deg);
  width: 14px;
}
.btn p .arrow_left {
  border: 1px solid currentColor;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  display: inline-block;
  height: 6px;
  margin-right: 15px;
  position: relative;
  width: 36px;
}
.btn p .arrow_left::before {
  border: 1px solid currentColor;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  box-sizing: border-box;
  content: "";
  height: 14px;
  left: 0;
  position: absolute;
  top: -7px;
  transform-origin: bottom left;
  transform: rotate(-45deg);
  width: 14px;
}
.btn:hover {
  background-color: black;
}
.btn:hover p {
  color: white;
}

@media screen and (min-width: 768px) {
  .text_nav {
    color: black;
    font-size: 16px;
    letter-spacing: 0.7px;
  }
  .text_head_1 {
    color: black;
    font-size: 23px;
    letter-spacing: 3.45px;
  }
  .text_large {
    color: black;
    font-size: 16px;
    letter-spacing: 0.7px;
    line-height: 35px;
  }
  .has-medium-font-size,
  .text_medium {
    color: black;
    font-size: 14px;
    letter-spacing: 2.1px;
    line-height: 28px;
  }
  .has-small-font-size,
  .text_small {
    color: black;
    font-size: 12px;
    letter-spacing: 0.7px;
    line-height: 28px;
  }
  .text_micro {
    color: black;
    font-size: 12px;
    letter-spacing: 0.6px;
    line-height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .text_nav {
    color: black;
    font-size: 18px;
    letter-spacing: 2.7px;
  }
  .text_head_1 {
    color: black;
    font-size: 18px;
    letter-spacing: 2.7px;
  }
  .text_large {
    color: black;
    font-size: 13px;
    letter-spacing: 0.9px;
    line-height: 26px;
  }
  .has-medium-font-size,
  .text_medium {
    color: black;
    font-size: 12px;
    letter-spacing: 0.6px;
    line-height: 26px;
  }
  .has-small-font-size,
  .text_small {
    color: black;
    font-size: 10px;
    letter-spacing: 1px;
    line-height: 21px;
  }
  .text_micro {
    color: black;
    font-size: 9px;
    letter-spacing: 0.45px;
    line-height: 13px;
  }
}
@media screen and (min-width: 768px) {
  .nav_animation::after {
    background: black;
    bottom: -3px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform-origin: center top;
    transform: scale(0, 1);
    transition: transform 0.3s;
    width: 100%;
  }
  .nav_animation:hover::after {
    transform: scale(1, 1);
  }
}
.inview {
  overflow-anchor: none;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 20px);
  transition: opacity 1s, transform 1s;
}

.fadeIn_up.is_show {
  transform: translate(0, 0);
  opacity: 1;
}

.simple_page_container {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 120px 40px;
  text-align: center;
}
.simple_page_container .btn {
  margin-top: 40px;
}
.simple_page_container a {
  color: black;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .simple_page_container {
    min-height: calc(100vh - 38px);
    min-height: calc(100dvh - 38px);
  }
}
@media screen and (max-width: 767px) {
  .simple_page_container {
    min-height: calc(100vh - 54px);
    min-height: calc(100dvh - 54px);
  }
}
@media screen and (min-width: 768px) {
  .logo {
    left: 38px;
    position: fixed;
    top: 34px;
    width: 141px;
    z-index: 100;
  }
  .nav_pc {
    left: 0;
    position: fixed;
    top: 100%;
    transform-origin: left top;
    transform: rotate(-90deg);
    z-index: 99;
  }
  .nav_pc .nav_container {
    margin-top: 38px;
  }
  .nav_pc .nav_container ul {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    list-style: none;
    width: 100vh;
    margin: 0;
  }
  .nav_pc .nav_container ul li {
    margin-left: 50px;
    position: relative;
  }
  .nav_pc .nav_container ul li a {
    color: black;
    text-decoration: none;
  }
  .nav_pc .nav_container ul li a.nav_li_instagram_link::after {
    bottom: -5px;
  }
  .nav_pc .nav_container ul li.current .nav_animation::after {
    transition: transform 0s;
    transform: scale(1, 1);
  }
  .nav_pc .nav_container ul .nav_li_instagram {
    height: 17px;
    width: 17px;
  }
  .nav_pc .nav_container ul .nav_li_instagram .nav_li_instagram_img {
    transform: rotate(90deg);
  }
  .nav_sp,
  #hamburger {
    display: none;
  }
  #scroll_button {
    background-color: white;
    border: none;
    bottom: 0px;
    cursor: pointer;
    height: 64px;
    position: fixed;
    right: 0px;
    width: 64px;
    z-index: 99;
  }
  #scroll_button img {
    height: 19px;
    width: 34px;
  }
}
@media screen and (max-width: 767px) {
  .logo {
    left: 24px;
    position: fixed;
    top: 19px;
    width: 111px;
    z-index: 200;
  }
  .nav_pc {
    display: none;
  }
  .nav_sp {
    background: #d4d9df;
    max-height: 0;
    transition: max-height 0.3s ease, visibility 0.3s;
    visibility: hidden;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 101;
  }
  .nav_sp.is_open {
    max-height: 100vh;
    visibility: visible;
  }
  .nav_sp .nav_container {
    height: 100%;
  }
  .nav_sp .nav_container ul {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    list-style: none;
    padding: 0;
  }
  .nav_sp .nav_container li {
    margin-bottom: 26px;
    margin-top: 26px;
  }
  .nav_sp .nav_container li a {
    color: black;
    text-decoration: none;
  }
  .nav_sp .nav_container li.nav_instagram {
    height: 23px;
    width: 23px;
  }
  .nav_sp .nav_footer {
    bottom: 26px;
    position: absolute;
    width: 100%;
  }
  .nav_sp .nav_footer p {
    text-align: center;
  }
  #hamburger {
    appearance: none;
    background: transparent;
    border: none;
    display: block;
    height: 21px;
    overflow: hidden;
    padding: 0;
    position: fixed;
    right: 19px;
    top: 19px;
    width: 41px;
    z-index: 102;
  }
  #hamburger .hamburger_bar {
    background: #242424;
    display: inline-block;
    height: 1px;
    position: absolute;
    right: 0;
    transition: transform 0.5s;
  }
  #hamburger .hamburger_bar#hamburger_bar_1 {
    top: 0px;
    width: 100%;
  }
  #hamburger .hamburger_bar#hamburger_bar_2 {
    top: 10px;
    width: 85%;
  }
  #hamburger .hamburger_bar#hamburger_bar_3 {
    top: 20px;
    width: 100%;
  }
  #hamburger.hamburger_open #hamburger_bar_1 {
    transform: translateY(10px) rotate(45deg);
  }
  #hamburger.hamburger_open #hamburger_bar_3 {
    transform: translateY(-10px) rotate(-45deg);
  }
  #hamburger.hamburger_open #hamburger_bar_2 {
    display: none;
  }
  #scroll_button {
    background-color: white;
    border: none;
    bottom: 0px;
    cursor: pointer;
    height: 39px;
    position: fixed;
    right: 0px;
    width: 39px;
    z-index: 99;
  }
  #scroll_button img {
    height: 12px;
    width: 19px;
  }
}
#index_img_1_bg picture {
  display: contents;
}

@media screen and (min-width: 768px) {
  .index_container .index_slideshow_container_1 {
    background-color: white;
    height: 100vh;
    position: fixed;
    width: 100vw;
    z-index: -1;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 {
    background-color: #eaecef;
    height: calc(100vh - 16px);
    left: 16px;
    position: fixed;
    top: 16px;
    width: calc(100vw - 16px);
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow {
    height: calc(100vh - 154px - 16px);
    left: 216px;
    overflow: hidden;
    position: fixed;
    top: 16px;
    width: calc(100vw - 216px);
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow img {
    height: calc(100vh - 154px - 16px);
    left: 0;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 1s ease-in-out;
    width: calc(100vw - 216px);
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow img.active {
    opacity: 1;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow_pagination {
    position: fixed;
    pointer-events: auto;
    left: 231px;
    bottom: 169px;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow_pagination .pagination_area {
    height: 30px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow_pagination .pagination_area .pagination_dot {
    height: 5px;
    width: 5px;
    pointer-events: auto;
    background-color: white;
    border-radius: 50%;
    border: 1px solid white;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow_pagination .pagination_area .pagination_dot.active {
    background-color: grey;
  }
  .index_container .index_scroll_container {
    display: flex;
    flex-direction: column;
  }
  .index_container .index_scroll_container .index_slideshow_spacer {
    height: calc(100vh - 154px);
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 {
    background-color: white;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 {
    background-color: #eaecef;
    margin-left: 16px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_text_1 {
    margin: 0 0 0 auto;
    padding-top: 70px;
    width: calc(100% - 200px);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_text_1 p {
    margin: 0;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container {
    display: flex;
    justify-content: center;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 {
    margin: 167px 0 0 200px;
    max-width: 820px;
    overflow: visible;
    position: relative;
    width: calc(100% - 200px);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_bg img {
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #triangle {
    left: 50.4%;
    position: absolute;
    top: 49.5%;
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #triangle img {
    width: 28%;
    transform: translate(-50%, -50%);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_about {
    left: 0;
    position: absolute;
    top: 42.2%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_about a {
    color: black;
    text-decoration: none;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_concept_text {
    left: 0;
    letter-spacing: 5.6px;
    position: absolute;
    top: 12.5%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_concept_text p {
    margin: 0;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div {
    left: 0;
    position: absolute;
    top: 0;
    width: 35%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div img {
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div p {
    position: absolute;
    margin: 0;
    color: white;
    font-size: 18px;
    letter-spacing: 3.4px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_1 {
    left: 56.7%;
    top: 0;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_1 p {
    bottom: 16px;
    left: 16px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_2 {
    left: 0;
    top: 58.8%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_2 p {
    top: 16px;
    right: 16px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_3 {
    left: 100%;
    top: 100%;
    transform: translate(-100%, -100%);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_3 p {
    top: 16px;
    left: 16px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_left {
    opacity: 0;
    transform: translate(20px, 0);
    transition: opacity 2s, transform 2s;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_right {
    opacity: 0;
    transform: translate(-20px, 0);
    transition: opacity 2s, transform 2s;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_left.is_show,
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_right.is_show {
    transform: translate(0, 0);
    opacity: 1;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_works {
    display: flex;
    justify-content: center;
    margin: 251px 0 0 auto;
    width: calc(100% - 200px);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_works div {
    position: relative;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_works div a {
    color: black;
    text-decoration: none;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_2 {
    margin: 32px 0 0 auto;
    width: calc(100% - 200px);
    overflow: hidden;
    height: 466px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_2 a img {
    height: 466px;
    object-fit: cover;
    width: 100%;
    transition: transform 0.6s ease;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_2:hover a img {
    transform: scale(1.1, 1.1);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_2:hover .works_detail {
    opacity: 1;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #contact_button_container {
    display: flex;
    justify-content: center;
    margin: 246px 0 0 auto;
    padding-bottom: 246px;
    width: calc(100% - 200px);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #contact_button_container a {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .index_container .index_slideshow_container_1 {
    height: 100vh;
    position: fixed;
    width: 100vw;
    z-index: -1;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 {
    height: 100vh;
    position: fixed;
    width: 100vw;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow {
    height: calc(100vh - 106px);
    margin-top: 57px;
    overflow: hidden;
    position: fixed;
    width: 100vw;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow img {
    height: calc(100vh - 106px);
    left: 0;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 1s ease-in-out;
    width: 100vw;
  }
  .index_container .index_slideshow_container_1 .index_slideshow_container_2 #slideshow img.active {
    opacity: 1;
  }
  .index_container .index_scroll_container {
    display: flex;
    flex-direction: column;
  }
  .index_container .index_scroll_container .index_slideshow_spacer {
    height: calc(100vh - 106px);
    width: 100vw;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 {
    background-color: #eaecef;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_text_1 {
    margin: 0 0 0 40px;
    padding-top: 59px;
    width: calc(100% - 40px);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_text_1 p {
    margin: 0;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_text_2 {
    margin: 77px 0 0 63px;
    letter-spacing: 5.6px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_text_2 p {
    margin: 0;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 {
    margin: 66px 0 0 0;
    overflow: visible;
    position: relative;
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_bg img {
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #triangle {
    left: 50%;
    position: absolute;
    top: 48%;
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #triangle img {
    width: 40.6%;
    transform: translate(-50%, -50%);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_about {
    left: 15%;
    position: absolute;
    top: 19.2%;
    transform: translate(-50%, -50%);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_about a {
    color: black;
    text-decoration: none;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div {
    left: 0;
    position: absolute;
    top: 0;
    width: 41%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div img {
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div p {
    position: absolute;
    margin: 0;
    color: white;
    font-size: 12px;
    letter-spacing: 3.4px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_1 {
    left: 45%;
    top: 0;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_1 p {
    bottom: 8px;
    left: 8px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_2 {
    left: 0;
    top: 60.6%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_2 p {
    top: 8px;
    right: 8px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_3 {
    left: 100%;
    top: 100%;
    transform: translate(-100%, -100%);
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_1_container #index_img_1 #index_img_1_photos div.index_img_1_photos_3 p {
    top: 8px;
    left: 8px;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_left {
    opacity: 0;
    transform: translate(20px, 0);
    transition: opacity 2s, transform 2s;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_right {
    opacity: 0;
    transform: translate(-20px, 0);
    transition: opacity 2s, transform 2s;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_left.is_show,
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 .concept_fadeIn_right.is_show {
    transform: translate(0, 0);
    opacity: 1;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_works {
    margin: 115px 0 0 0;
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_works a {
    color: black;
    text-decoration: none;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_2 {
    margin: 7px 0 0 0;
    width: 100%;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #index_img_2 a img {
    height: 234px;
    object-fit: cover;
    width: 100vw;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #contact_button_container {
    display: flex;
    justify-content: center;
    margin: 104px 0 0 0px;
    padding-bottom: 104px;
    width: 100vw;
  }
  .index_container .index_scroll_container .index_background_container_1 .index_background_container_2 #contact_button_container a {
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) {
  .works_container {
    background-color: white;
    padding-left: 16px;
    padding-top: 16px;
  }
  .works_container .works_background_container {
    background-color: #eaecef;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 16px - 38px);
  }
  .works_container .works_background_container .works_preview_list .works_preview {
    height: 33vh;
    margin: 0 0 3px auto;
    width: 80vw;
    max-width: calc(100vw - 220px);
    overflow: hidden;
  }
  .works_container .works_background_container .works_preview_list .works_preview a img {
    position: absolute;
    top: 0;
    height: 33vh;
    object-fit: cover;
    width: 100%;
    transition: transform 0.6s ease;
  }
  .works_container .works_background_container .works_preview_list .works_preview a .works_detail {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    height: 100%;
    width: 100%;
    align-content: center;
    transition: opacity 0.6s ease;
  }
  .works_container .works_background_container .works_preview_list .works_preview a .works_detail p {
    margin-left: 32px;
    color: white;
  }
  .works_container .works_background_container .works_preview_list .works_preview:hover a img {
    transform: scale(1.1, 1.1);
  }
  .works_container .works_background_container .works_preview_list .works_preview:hover .works_detail {
    opacity: 1;
  }
  .works_container .works_background_container .works_pager {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 65px 0 108px auto;
    width: 80vw;
  }
  .works_container .works_background_container .works_pager .page-numbers {
    align-items: center;
    color: black;
    display: flex;
    height: 32px;
    justify-content: center;
    margin: 0 15px 0 15px;
    text-decoration: none;
    width: 32px;
    padding: 2px 0 0 2px;
    font-size: 14px;
    letter-spacing: 2.1px;
    transition: transform 0.5s;
  }
  .works_container .works_background_container .works_pager .page-numbers:hover:not(.current) {
    transform: translate(0, -5px);
  }
  .works_container .works_background_container .works_pager .page-numbers.prev {
    margin-left: 0;
    width: 65px;
  }
  .works_container .works_background_container .works_pager .page-numbers.prev:hover {
    transform: translate(-15px, 0);
  }
  .works_container .works_background_container .works_pager .page-numbers.next {
    margin-right: 0;
    width: 65px;
  }
  .works_container .works_background_container .works_pager .page-numbers.next:hover {
    transform: translate(15px, 0);
  }
  .works_container .works_background_container .works_pager .page-numbers.current {
    border-radius: 50%;
    border: 1px solid currentColor;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .works_container .works_background_container {
    background-color: #eaecef;
    display: flex;
    flex-direction: column;
  }
  .works_container .works_background_container #works_title {
    margin-top: 77px;
    text-align: center;
    width: 100%;
  }
  .works_container .works_background_container .works_preview_list {
    margin: 40px 0 0 0;
  }
  .works_container .works_background_container .works_preview_list .works_preview {
    height: 196px;
    margin-bottom: 1px;
    width: 100%;
  }
  .works_container .works_background_container .works_preview_list .works_preview a img {
    height: 196px;
    object-fit: cover;
    width: 100%;
  }
  .works_container .works_background_container .works_pager {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 55px 0 55px 0;
    width: 100%;
  }
  .works_container .works_background_container .works_pager .page-numbers {
    align-items: center;
    color: black;
    display: flex;
    height: 27px;
    justify-content: center;
    margin: 0 3px 0 3px;
    text-decoration: none;
    width: 27px;
    font-size: 12px;
    letter-spacing: 0.6px;
  }
  .works_container .works_background_container .works_pager .page-numbers.prev {
    margin-left: 0;
    width: 65px;
  }
  .works_container .works_background_container .works_pager .page-numbers.next {
    margin-right: 0;
    width: 65px;
  }
  .works_container .works_background_container .works_pager .page-numbers.current {
    border-radius: 50%;
    border: 1px solid currentColor;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 768px) {
  .work_container {
    background-color: white;
    padding-left: 16px;
    padding-top: 16px;
  }
  .work_container .work_background_container {
    background-color: #eaecef;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 16px - 38px);
  }
  .work_container .work_background_container .work_eyecatch {
    margin: 0 0 0 auto;
    width: 80vw;
  }
  .work_container .work_background_container .work_eyecatch img {
    object-fit: cover;
    width: 100%;
    max-height: 70vh;
  }
  .work_container .work_background_container .work_post_title {
    margin: 57px 36px 0 auto;
    width: calc(80vw - 36px);
    overflow-wrap: break-word;
  }
  .work_container .work_background_container .work_content {
    font-size: 14px;
    margin: 0 0 3px auto;
    width: 80vw;
  }
  .work_container .work_background_container .work_content figure {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0 0 3px 0;
    max-height: 70vh;
    overflow: hidden;
  }
  .work_container .work_background_container .work_content figure img {
    flex: 0 0 auto;
    height: auto;
    width: 100%;
  }
  .work_container .work_background_container .work_content p,
  .work_container .work_background_container .work_content li {
    margin: 40px 36px 40px 0;
    overflow-wrap: break-word;
  }
  .work_container .work_background_container .work_content p:not(.has-small-font-size),
  .work_container .work_background_container .work_content li:not(.has-small-font-size) {
    font-size: 1em;
    letter-spacing: 2.1px;
    line-height: 28px;
  }
  .work_container .work_background_container .work_pager {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 65px 0 108px auto;
    width: 80vw;
    position: relative;
  }
  .work_container .work_background_container .work_pager .work_pager_btn {
    position: absolute;
    color: black;
    text-decoration: none;
    transition: transform 0.5s;
  }
  .work_container .work_background_container .work_pager .work_pager_btn_next {
    transform: translate(-200px, 0);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_works {
    transform: translate(0, 3px);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_prev {
    transform: translate(200px, 0);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_next:hover {
    transform: translate(-215px, 0);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_works:hover {
    transform: translate(0, -5px);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_prev:hover {
    transform: translate(215px, 0);
  }
}
@media screen and (max-width: 767px) {
  .work_container .work_background_container {
    background-color: #eaecef;
    display: flex;
    flex-direction: column;
  }
  .work_container .work_background_container #work_title {
    margin-top: 77px;
    text-align: center;
    width: 100%;
  }
  .work_container .work_background_container .work_eyecatch {
    margin: 40px 0 0 0;
  }
  .work_container .work_background_container .work_eyecatch img {
    object-fit: cover;
    width: 100%;
    max-height: 70vh;
  }
  .work_container .work_background_container .work_post_title {
    margin: 30px;
    overflow-wrap: break-word;
  }
  .work_container .work_background_container .work_content {
    font-size: 12px;
    margin-top: 3px;
  }
  .work_container .work_background_container .work_content figure {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0 0 3px 0;
    max-height: 70vh;
    overflow: hidden;
  }
  .work_container .work_background_container .work_content figure img {
    flex: 0 0 auto;
    height: auto;
    width: 100%;
  }
  .work_container .work_background_container .work_content p,
  .work_container .work_background_container .work_content li {
    margin: 30px;
    overflow-wrap: break-word;
  }
  .work_container .work_background_container .work_content p:not(.has-small-font-size),
  .work_container .work_background_container .work_content li:not(.has-small-font-size) {
    font-size: 1em;
    letter-spacing: 0.6px;
    line-height: 26px;
  }
  .work_container .work_background_container .work_pager {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 65px 0 108px 0;
    width: 100%;
    position: relative;
  }
  .work_container .work_background_container .work_pager .work_pager_btn {
    position: absolute;
    color: black;
    text-decoration: none;
    transition: transform 0.5s;
  }
  .work_container .work_background_container .work_pager .work_pager_btn_next {
    transform: translate(-100px, 0);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_works {
    transform: translate(0, 3px);
  }
  .work_container .work_background_container .work_pager .work_pager_btn_prev {
    transform: translate(100px, 0);
  }
}
#about_profile p,
#about_intro p {
  margin: 0;
}

#about_concept_image picture {
  display: contents;
}

@media screen and (min-width: 768px) {
  .about_container {
    background-color: white;
    padding-left: 16px;
    padding-top: 16px;
  }
  .about_container .about_background_container {
    align-items: center;
    background-color: #eaecef;
    display: flex;
    flex-direction: column;
  }
  .about_container .about_background_container #about_top_image {
    width: 600px;
  }
  .about_container .about_background_container #about_top_image img {
    width: 100%;
  }
  .about_container .about_background_container #about_concept {
    margin: 119px 0 0 0;
    width: 600px;
  }
  .about_container .about_background_container #about_concept p {
    margin: 0;
    text-align: justify;
  }
  .about_container .about_background_container #about_concept p#about_concept_heading {
    letter-spacing: 5.6px;
  }
  .about_container .about_background_container #about_concept p + p {
    margin-top: 56px;
  }
  .about_container .about_background_container #about_concept_image {
    margin: 152px 0 0 0;
    max-width: 800px;
    width: 100%;
    position: relative;
  }
  .about_container .about_background_container #about_concept_image .about_concept_photo {
    width: 100%;
  }
  .about_container .about_background_container #about_concept_image .about_concept_triangle {
    position: absolute;
    left: 47%;
    top: 48%;
    width: 41.1%;
    transform: translate(-50%, -50%);
  }
  .about_container .about_background_container #about_profile {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 333px 0 0 0;
    width: 600px;
  }
  .about_container .about_background_container #about_profile .about_profile_photo img {
    height: 280px;
    object-fit: cover;
    width: 188px;
  }
  .about_container .about_background_container #about_intro {
    margin: 39px 0 0 0;
    width: 600px;
  }
  .about_container .about_background_container #about_services {
    margin: 208px 0 179px 0;
    width: 600px;
  }
  .about_container .about_background_container #about_services p {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .about_container .about_background_container {
    align-items: center;
    background-color: #eaecef;
    display: flex;
    flex-direction: column;
  }
  .about_container .about_background_container #about_title {
    margin-top: 77px;
    text-align: center;
    width: 100%;
  }
  .about_container .about_background_container #about_top_image {
    margin: 40px 0 0 0;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .about_container .about_background_container #about_top_image img {
    object-fit: cover;
    width: 100%;
  }
  .about_container .about_background_container #about_concept {
    margin: 55px 0 0 0;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .about_container .about_background_container #about_concept p {
    margin: 0;
    text-align: justify;
  }
  .about_container .about_background_container #about_concept p#about_concept_heading {
    letter-spacing: 4.5px;
  }
  .about_container .about_background_container #about_concept p + p {
    margin-top: 52px;
  }
  .about_container .about_background_container #about_concept_image {
    margin: 176px 0 0 0;
    width: 100%;
    position: relative;
  }
  .about_container .about_background_container #about_concept_image .about_concept_photo {
    width: 100%;
  }
  .about_container .about_background_container #about_concept_image .about_concept_triangle {
    position: absolute;
    left: 49%;
    top: 50.2%;
    width: 41.3%;
    transform: translate(-50%, -50%);
  }
  .about_container .about_background_container #about_profile {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 133px 0 0 0;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .about_container .about_background_container #about_profile .about_profile_photo img {
    height: 238px;
    object-fit: cover;
    width: 173px;
  }
  .about_container .about_background_container #about_profile .about_profile_text {
    margin-top: 45px;
    width: 100%;
  }
  .about_container .about_background_container #about_intro {
    margin: 39px 0 0 0;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .about_container .about_background_container #about_services {
    margin: 69px 0 179px 0;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .about_container .about_background_container #about_services p {
    margin: 0;
  }
}
.contact_container {
  background-color: white;
  padding-left: 16px;
  padding-top: 16px;
}
.contact_container .contact_form {
  align-items: center;
  background-color: #eaecef;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - 16px - 38px);
}
.contact_container .contact_form .form_trap {
  height: 0;
  left: -9999px;
  overflow: hidden;
  position: absolute;
  width: 0;
}
.contact_container .contact_form .form_preview {
  display: none;
}
.contact_container .contact_form #contact_text1 {
  margin-top: 172px;
  width: 600px;
}
.contact_container .contact_form #contact_text2,
.contact_container .contact_form #contact_text3 {
  width: 600px;
  margin: 38px 0 113px 0;
}
.contact_container .contact_form #contact_text3 {
  display: none;
}
.contact_container .contact_form .form_group {
  margin-top: 37px;
  overflow-wrap: break-word;
  width: 600px;
}
.contact_container .contact_form .form_group input,
.contact_container .contact_form .form_group textarea {
  font-size: 20px;
  margin-top: 8px;
  box-sizing: border-box;
}
.contact_container .contact_form .form_group input {
  padding: 0 10px 0 10px;
  height: 44px;
  width: 100%;
}
.contact_container .contact_form .form_group textarea {
  padding: 10px;
  height: 460px;
  min-height: 460px;
  resize: vertical;
  width: 100%;
}
.contact_container .contact_form .form_button {
  display: flex;
  justify-content: center;
  margin: 86px 0 199px 0;
  max-width: calc(100vw - 80px);
  width: 600px;
}
.contact_container .contact_form .form_button .btn {
  cursor: pointer;
}
.contact_container .contact_form .form_button .btn.btn_check {
  width: 300px;
}
.contact_container .contact_form .form_button .btn.btn_back, .contact_container .contact_form .form_button .btn.btn_submit {
  width: 280px;
}
.contact_container .contact_form .error {
  margin-top: 4px;
  font-size: 12px;
  letter-spacing: 0.8px;
}
.contact_container .contact_form .btn_back,
.contact_container .contact_form .btn_submit {
  display: none;
}
.contact_container .contact_form.contact_form_preview #contact_text2 {
  display: none;
}
.contact_container .contact_form.contact_form_preview #contact_text3 {
  display: block;
}
.contact_container .contact_form.contact_form_preview .form_button {
  justify-content: space-between;
}
.contact_container .contact_form.contact_form_preview .btn_check {
  display: none;
}
.contact_container .contact_form.contact_form_preview .btn_back,
.contact_container .contact_form.contact_form_preview .btn_submit {
  display: flex;
}
.contact_container .contact_form.contact_form_preview .form_group input,
.contact_container .contact_form.contact_form_preview .form_group textarea {
  display: none;
}
.contact_container .contact_form.contact_form_preview .form_group .form_preview {
  display: block;
  margin-top: 8px;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}
.contact_container .contact_form.contact_form_complete > *:not(.contact_complete) {
  display: none;
}
.contact_container .contact_form.contact_form_complete #contact_text1,
.contact_container .contact_form.contact_form_complete #contact_text2,
.contact_container .contact_form.contact_form_complete #contact_text3 {
  display: none;
}
.contact_container .contact_form.contact_form_complete {
  color: black;
  font-size: 16px;
  letter-spacing: 0.7px;
  line-height: 35px;
}

@media screen and (max-width: 767px) {
  .contact_container {
    padding-left: 0;
    padding-top: 0;
  }
  .contact_container .contact_form {
    min-height: calc(100vh - 54px);
  }
  .contact_container .contact_form .contact_title {
    margin-top: 77px;
    text-align: center;
    width: 100%;
  }
  .contact_container .contact_form #contact_text1 {
    margin: 40px 0 0 0;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .contact_container .contact_form #contact_text2,
  .contact_container .contact_form #contact_text3 {
    width: 600px;
    max-width: calc(100vw - 80px);
    margin: 37px 0 37px 0;
  }
  .contact_container .contact_form .form_group {
    margin-top: 10px;
    width: 600px;
    max-width: calc(100vw - 80px);
  }
  .contact_container .contact_form .form_group input,
  .contact_container .contact_form .form_group textarea {
    margin-top: 0;
  }
  .contact_container .contact_form .form_group textarea {
    height: 323px;
    min-height: 323px;
  }
  .contact_container .contact_form .btn.btn_check {
    max-width: calc(100vw - 80px);
  }
  .contact_container .contact_form .btn.btn_back, .contact_container .contact_form .btn.btn_submit {
    max-width: calc((100vw - 80px) / 2 - 15px);
  }
  .contact_container .contact_form .error {
    font-size: 10px;
    letter-spacing: 1px;
  }
  .contact_container .contact_form.contact_form_complete {
    margin: 40px 0 0 0;
    color: black;
    font-size: 13px;
    letter-spacing: 0.9px;
    line-height: 32px;
  }
}
html,
body {
  overflow-x: hidden;
}

html {
  overscroll-behavior-y: none;
  color-scheme: light;
}

body {
  background-color: #eaecef;
  font-family: "Adobe Garamond Pro", Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
body * {
  font-family: inherit;
}
body {
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  body footer .footer_container {
    background-color: white;
    height: 38px;
    width: 100%;
  }
  body footer .footer_container .copyright {
    align-items: center;
    display: flex;
    height: 38px;
    margin: 0 0 0 38px;
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  body footer .footer_container {
    background-color: #eaecef;
    width: 100%;
  }
  body footer .footer_container .copyright {
    align-items: center;
    display: flex;
    height: 54px;
    justify-content: center;
    margin: 0;
  }
}

/*# sourceMappingURL=style.css.map */
