@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

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

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0.01em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: 19rem; }

img {
  max-width: 100%;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/* SP */
@media screen and (max-width: 868px) {
  .pconly {
    display: none !important; }

  html {
    background: #000;
    font-size: calc(1vw * 100 / 750); }

  .font_minsho {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important; }

  .fade {
    opacity: 0;
    transition: 2s; }

  .fade.is-show {
    opacity: 1;
    transition: 2s; }

  .fadein {
    opacity: 0;
    transition: 2s;
    transform: translateY(10rem); }

  .fadein.is-show {
    opacity: 1;
    transition: 2s;
    transform: translateY(0); }

  @font-face {
    font-family: "castellar";
    src: local("castellar"), url("../font/castellar-regular.ttf") format("truetype"); }
  .font_castellar {
    font-family: "castellar" !important; }

  @font-face {
    font-family: "Hightower";
    src: local("Hightower"), url("../font/Hightower-Text-Roman.otf") format("opentype"); }
  .font_Hightower {
    font-family: "Hightower" !important; }

  @font-face {
    font-family: "LibreBaskerville";
    src: local("LibreBaskerville"), url("../font/LibreBaskerville-Regular.ttf") format("opentype"); }
  .font_LibreBaskerville {
    font-family: "LibreBaskerville" !important; }

  #cs {
    background: #000;
    height: 100vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; }
    #cs .cs_logo {
      width: 20vw;
      margin-bottom: 44rem; }
    #cs .cs_txt {
      color: #9e9f9f;
      font-size: 19rem; } }
@media screen and (max-width: 868px) and (max-width: 768px) {
  #cs {
    background: #000;
    height: 100vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; }
    #cs .cs_logo {
      width: 60vw;
      margin-bottom: 5vw; }
    #cs .cs_txt {
      color: #9e9f9f;
      font-size: 5vw; } }
@media screen and (max-width: 868px) {
  .top1 {
    position: fixed;
    background: #000;
    width: 100%;
    height: 100vh;
    z-index: 8; }
    .top1 .top1_logo {
      width: 425rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%); }

  .video {
    position: fixed;
    background: #000;
    width: 100%;
    height: 100vh;
    z-index: 6;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; }
    .video video {
      width: 100%;
      height: auto; }

  #top2 {
    background: url("../img/top2_bg_spv2.png") no-repeat center 47% #000;
    background-size: contain;
    height: 100vh;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center; }
    #top2 #top2_inner {
      width: 100%;
      margin: 0 auto;
      text-align: center; }
      #top2 #top2_inner .top2_logo {
        margin: 0 auto;
        width: 425rem;
        margin-bottom: 370rem; }
        #top2 #top2_inner .top2_logo img {
          width: 100%;
          height: auto;
          display: block; }
      #top2 #top2_inner .top2_list li {
        font-size: 40rem;
        margin-bottom: 1em; }
        #top2 #top2_inner .top2_list li:last-child {
          margin-bottom: 0; }
        #top2 #top2_inner .top2_list li a {
          color: #9e9f9f; }

  #about {
    background: url("../img/about_bg_sp.png") no-repeat center top #000;
    background-size: contain;
    padding-top: 232rem;
    padding-bottom: 300rem; }
    #about .about_ttl {
      text-align: center;
      color: #9e9f9f;
      font-size: 50rem;
      margin-bottom: 430rem; }
    #about .about_sub {
      color: #9e9f9f;
      font-size: 40rem;
      text-align: center; }
    #about .about_txt {
      text-align: center;
      color: #9e9f9f;
      font-size: 28rem;
      line-height: 1.71em; }
      #about .about_txt.txt2 {
        margin-bottom: 245rem; }
    #about .about_dl {
      color: #b48753;
      text-align: center;
      margin: 40rem 0; }
      #about .about_dl dt {
        font-size: 45rem;
        margin-bottom: 10rem; }
      #about .about_dl dd {
        font-size: 28rem; }

  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 40rem 35rem 0;
    box-sizing: border-box; }
    header.contact .hedaer_inner .hedaer_logo a {
      color: #595757; }
    header.contact .hedaer_inner .hedaer_menu label {
      background-image: url("../img/menu_01_g.png"); }
    header.designer .hedaer_inner .hedaer_logo a {
      color: #595757; }
    header.designer .hedaer_inner .hedaer_menu label {
      background-image: url("../img/menu_01_g.png"); }
    header .hedaer_inner {
      display: flex;
      justify-content: space-between;
      margin: 0 auto; }
      header .hedaer_inner .hedaer_logo {
        color: #9e9f9f;
        font-size: 40rem; }
        header .hedaer_inner .hedaer_logo a {
          color: #9e9f9f; }
      header .hedaer_inner .hedaer_menu .menuch {
        display: none; }
      header .hedaer_inner .hedaer_menu label {
        display: block;
        width: 60rem;
        height: 60rem;
        background: url("../img/menu_01.png") no-repeat center top;
        background-size: contain;
        position: relative;
        z-index: 2; }
      header .hedaer_inner .hedaer_menu .menuch:checked + label {
        background-image: url("../img/menu_close.png"); }
      header .hedaer_inner .hedaer_menu .menuch:checked + label + .hedaer_menu_lists {
        right: 0;
        transition: 0.3s;
        opacity: 1; }
      header .hedaer_inner .hedaer_menu .hedaer_menu_lists {
        transition: 0.3s;
        opacity: 0;
        position: absolute;
        right: -100vw;
        top: 0;
        background: #000;
        z-index: 1;
        box-sizing: border-box;
        height: 100vh;
        padding: 0 20rem;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%; }
        header .hedaer_inner .hedaer_menu .hedaer_menu_lists .hedaer_menu_list li {
          font-size: 34rem;
          line-height: 2em;
          text-align: right; }
          header .hedaer_inner .hedaer_menu .hedaer_menu_lists .hedaer_menu_list li a {
            color: rgba(255, 255, 255, 0.5); }
            header .hedaer_inner .hedaer_menu .hedaer_menu_lists .hedaer_menu_list li a:hover {
              color: #9e9f9f; }

  footer {
    padding: 65rem 0 45rem;
    border-top: solid 1px #838383;
    color: #9e9f9f;
    text-align: left;
    background: #000;
    position: relative;
    padding-left: 60rem;
    box-sizing: border-box; }
    footer .footer_logo {
      font-size: 45rem;
      margin-bottom: 58rem; }
    footer .footer_copy {
      font-size: 21rem; }
    footer .pagetop {
      position: absolute;
      right: 60rem;
      top: 74rem; }
      footer .pagetop a {
        font-size: 24rem;
        color: #9e9f9f;
        display: block;
        background: url("../img/arr_01.svg") no-repeat right center;
        background-size: 18rem;
        padding-right: 30rem; }

  #contact {
    position: relative; }
    #contact:after {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      left: 0;
      top: 110rem;
      height: 488rem;
      background: url("../img/contact_bg_sp.png") no-repeat left top;
      background-size: cover;
      z-index: 4; }
    #contact .contact_inner {
      padding-top: 598rem;
      padding-bottom: 175rem;
      padding-left: 60rem;
      padding-right: 60rem;
      box-sizing: border-box;
      background: #e6e7e5;
      position: relative;
      z-index: 3;
      margin: 0 auto;
      color: #595757; }
      #contact .contact_inner .contact_ttl {
        margin-top: 115rem;
        font-size: 50rem;
        margin-bottom: 67rem; }
      #contact .contact_inner .contact_table .name {
        font-size: 28rem;
        width: 240rem;
        letter-spacing: 0.05em; }
      #contact .contact_inner .contact_table .input {
        width: calc(100% - 250rem); }
      #contact .contact_inner .contact_table .contact_boxes {
        display: flex;
        justify-content: space-between; }
        #contact .contact_inner .contact_table .contact_boxes .contact_box {
          width: 49%;
          border-bottom: solid 1rem #595757;
          display: flex;
          align-items: flex-end;
          padding-bottom: 12rem; }
          #contact .contact_inner .contact_table .contact_boxes .contact_box .name {
            width: 34rem; }
          #contact .contact_inner .contact_table .contact_boxes .contact_box .input {
            width: calc(100% - 34rem); }
            #contact .contact_inner .contact_table .contact_boxes .contact_box .input input[type="text"] {
              border: none;
              background: none;
              font-size: 18rem;
              width: 100%; }
      #contact .contact_inner .contact_table .contact_txt {
        margin-top: 65rem;
        display: flex;
        align-items: flex-end;
        padding-bottom: 12rem;
        border-bottom: solid 1rem #595757; }
        #contact .contact_inner .contact_table .contact_txt input[type="text"] {
          border: none;
          background: none;
          font-size: 28rem;
          width: 100%; }
      #contact .contact_inner .contact_table .contact_textarea {
        border: solid 1rem #595757;
        box-sizing: border-box;
        margin-top: 90rem;
        padding: 20rem;
        margin-bottom: 30rem; }
        #contact .contact_inner .contact_table .contact_textarea .txt {
          font-size: 28rem;
          margin-bottom: 5rem; }
        #contact .contact_inner .contact_table .contact_textarea textarea {
          width: 100%;
          height: 140rem;
          border: none;
          background: none; }
      #contact .contact_inner .contact_table .biko {
        font-size: 24rem; }
      #contact .contact_inner .send {
        padding-top: 50rem; }
        #contact .contact_inner .send input[type="submit"] {
          display: inline-block;
          font-size: 28rem;
          width: 100%;
          text-align: center;
          background: #595757;
          box-sizing: border-box;
          border: solid 1px #595757;
          transition: 0.3s;
          padding: 22rem 0;
          color: #fff; }
          #contact .contact_inner .send input[type="submit"]:hover {
            background: #fff;
            color: #595757;
            transition: 0.3s;
            cursor: pointer; }

  #world {
    background: url("../img/world_bg_sp.png") no-repeat top left;
    background-size: contain; }
    #world .world_head {
      position: relative;
      margin: 0 auto;
      text-align: right;
      color: #9e9f9f;
      padding: 174rem 60rem 210rem;
      z-index: 3; }
      #world .world_head .world_ttl {
        font-size: 50rem;
        text-shadow: #000 1rem 0 10rem; }
      #world .world_head .jp {
        font-size: 23rem;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        margin-top: 5rem;
        text-shadow: #000 1rem 0 10rem; }
    #world .world_bg {
      position: relative;
      background: #e7e6e4; }
      #world .world_bg:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        bottom: 100%;
        margin-bottom: -1rem;
        width: 100%;
        height: 260rem;
        background: linear-gradient(rgba(231, 230, 228, 0), #e7e6e4); }
    #world .world_inner {
      box-sizing: border-box;
      padding: 0 60rem;
      padding-bottom: 240rem; }
      #world .world_inner .world_txt {
        text-align: center;
        color: #595757;
        font-size: 31rem;
        padding-top: 5rem;
        margin-bottom: 48rem;
        line-height: 1.61em; }
      #world .world_inner .world_list {
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        padding: 0 28rem; }
        #world .world_inner .world_list li {
          width: 32%; }
          #world .world_inner .world_list li img {
            width: 100%;
            display: block; }
      #world .world_inner .world_body .world_body_ttl {
        margin-top: 110rem;
        color: #595757;
        border-left: solid 6rem #595757;
        padding: 3rem 0 3rem 15rem;
        font-size: 42rem; }
        #world .world_inner .world_body .world_body_ttl span {
          font-size: 57rem;
          letter-spacing: -0.2em;
          display: inline-block;
          margin-right: 20rem; }
      #world .world_inner .world_body .world_body_inner {
        box-sizing: border-box;
        padding: 44rem 24rem; }
        #world .world_inner .world_body .world_body_inner .img {
          text-align: center; }
          #world .world_inner .world_body .world_body_inner .img img {
            width: 100%;
            height: auto; }
          #world .world_inner .world_body .world_body_inner .img.img2 img {
            width: 423rem;
            position: relative;
            right: -30rem; }
        #world .world_inner .world_body .world_body_inner .world_body_txt {
          font-size: 28rem;
          line-height: 1.6em;
          color: #595757;
          padding-bottom: 10rem; }
          #world .world_inner .world_body .world_body_inner .world_body_txt .inbl {
            display: inline-block;
            position: relative;
            top: 0;
            margin-bottom: 10rem;
            margin-left: 5rem;
            margin-right: 5rem; }
            #world .world_inner .world_body .world_body_inner .world_body_txt .inbl span {
              font-size: 28rem;
              padding: 5rem 8rem;
              line-height: 1;
              display: inline-block;
              border: solid 1rem #595757;
              vertical-align: middle;
              margin-right: 14rem; }
              #world .world_inner .world_body .world_body_inner .world_body_txt .inbl span:last-child {
                margin-right: 0; }
        #world .world_inner .world_body .world_body_inner .world_body_txt_mini {
          font-size: 33rem;
          line-height: 1.6em;
          margin-top: 50rem;
          color: #595757; }
        #world .world_inner .world_body .world_body_inner .world_body_txt_mini_img {
          width: 100%;
          overflow-x: scroll;
          margin-bottom: 38rem; }
          #world .world_inner .world_body .world_body_inner .world_body_txt_mini_img img {
            width: 100%;
            max-width: 1000%; }
        #world .world_inner .world_body .world_body_inner .world_body_txt_mini2 {
          font-size: 28rem;
          line-height: 1.5em;
          color: #595757;
          font-feature-settings: "palt";
          margin-bottom: 55rem; }
        #world .world_inner .world_body .world_body_inner .world_body_txt_mini_img2 {
          width: 528rem;
          margin: 0 auto 150rem; }
        #world .world_inner .world_body .world_body_inner .sub {
          color: #595757;
          margin-top: 74rem;
          font-size: 37.5rem;
          position: relative;
          padding-left: 40rem;
          border-bottom: solid 1rem #595757;
          padding-bottom: 14rem;
          margin-bottom: 40rem; }
          #world .world_inner .world_body .world_body_inner .sub:before {
            content: '';
            position: absolute;
            left: 0;
            top: 0; }
          #world .world_inner .world_body .world_body_inner .sub.n01:before {
            content: '1.'; }
          #world .world_inner .world_body .world_body_inner .sub.n02:before {
            content: '2.'; }
          #world .world_inner .world_body .world_body_inner .sub.n03:before {
            content: '3.'; }
        #world .world_inner .world_body .world_body_inner .world_body_box {
          color: #595757; }
          #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_right {
            font-size: 28rem;
            line-height: 1.5em;
            font-feature-settings: "palt"; }
          #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 50rem; }
            #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left.img1 img {
              width: 100%; }
            #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left.img2 img {
              margin-top: 20rem;
              width: 465rem; }
            #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left.img3 img {
              width: 326rem;
              margin-bottom: 30rem; }

  #designer {
    background: #fff; }
    #designer .designer_head {
      background: url("../img/designer_bg_spv2.jpg") no-repeat right top;
      background-size: cover;
      padding: 230rem 0; }
      #designer .designer_head .designer_ttl {
        box-sizing: border-box;
        padding-left: 60rem;
        font-size: 50rem;
        color: #595757; }
    #designer .designer_body {
      padding: 80rem 60rem 130rem;
      background: #e6e7e5;
      box-sizing: border-box; }
      #designer .designer_body .designer_body_inner {
        margin: 0 auto; }
        #designer .designer_body .designer_body_inner .designer_posi {
          letter-spacing: 0.1em;
          color: #b48753;
          padding-bottom: 20rem;
          font-size: 23rem; }
        #designer .designer_body .designer_body_inner .designer_name {
          font-size: 28rem;
          color: #595757;
          letter-spacing: 0.1em;
          padding-bottom: 40rem;
          border-bottom: solid 1rem #595757;
          margin-bottom: 45rem; }
        #designer .designer_body .designer_body_inner .txt {
          color: #595757;
          font-size: 28rem;
          line-height: 1.71em;
          letter-spacing: 0.1em;
          font-feature-settings: "palt"; }

  #work .work_head {
    background: url("../img/work_bg_sp_v3.jpg") no-repeat center top;
    background-size: cover;
    padding-top: 280rem;
    padding-bottom: 0;
    position: relative; }
    #work .work_head .work_ttl {
      text-align: center;
      font-size: 50rem;
      position: relative;
      z-index: 2;
      color: #595757; }
    #work .work_head:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 128rem;
      background: linear-gradient(rgba(231, 230, 228, 0), #e7e6e4);
      z-index: 1;
      margin-bottom: -2rem; }
  #work .work_body {
    background: #e7e6e4;
    color: #595757;
    padding-top: 120rem;
    padding-bottom: 100rem; }
    #work .work_body .work_inner {
      box-sizing: border-box;
      padding: 0 60rem;
      margin: 0 auto; }
      #work .work_body .work_inner .work_box .work_body_ttl {
        font-size: 40rem;
        text-align: center;
        margin-bottom: 25rem; }
      #work .work_body .work_inner .work_box .work_body_sub {
        text-align: center;
        font-size: 28rem;
        margin-bottom: 55rem; }
        #work .work_body .work_inner .work_box .work_body_sub span {
          font-size: 28rem; }
      #work .work_body .work_inner .work_box .work_body_head .work_body_head_left {
        margin-bottom: 70rem; }
        #work .work_body .work_inner .work_box .work_body_head .work_body_head_left img {
          display: block; }
      #work .work_body .work_inner .work_box .work_body_head .work_body_head_right {
        box-sizing: border-box;
        padding: 0 28rem; }
        #work .work_body .work_inner .work_box .work_body_head .work_body_head_right .work_body_head_txt .ttl {
          font-size: 28rem;
          line-height: 1.56em;
          font-feature-settings: "palt"; }
        #work .work_body .work_inner .work_box .work_body_head .work_body_head_right .work_body_head_txt .name {
          font-size: 23.7rem;
          line-height: 1.5em;
          margin-top: 78rem;
          margin-bottom: 75rem; }
      #work .work_body .work_inner .work_box .work_series {
        padding-top: 200rem;
        padding-bottom: 109rem; }
        #work .work_body .work_inner .work_box .work_series .work_series_box {
          margin: 0 auto; }
          #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider {
            margin-bottom: 80rem;
            position: relative; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .work_series_slide {
              height: 605rem;
              background-position: center;
              background-size: contain;
              background-repeat: no-repeat; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-prev {
              position: absolute;
              width: 25rem;
              height: 50rem;
              background: url("../img/arr_slide_prev.png") no-repeat center;
              background-size: contain;
              left: 0;
              z-index: 5; }
              #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-prev:before {
                display: none; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-next {
              position: absolute;
              width: 25rem;
              height: 50rem;
              background: url("../img/arr_slide_next.png") no-repeat center;
              background-size: contain;
              right: 0;
              z-index: 5; }
              #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-next:before {
                display: none; }
          #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_box_txt {
            font-size: 28rem;
            line-height: 1.66em; }
          #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_btn {
            margin-top: 30rem;
            font-size: 28rem; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_btn a {
              color: #595757;
              padding: 15rem 45rem;
              display: inline-block;
              border: solid 0.25rem #595757;
              transition: 0.3s; }
              #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_btn a:hover {
                transition: 0.3s;
                color: #9e9f9f;
                background: #595757;
                cursor: pointer; } }
/* PC */
@media screen and (min-width: 869px) {
  .sponly {
    display: none !important; }

  html {
    background: #000;
    font-size: calc(1vw * 100 / 1920); }

  .font_minsho {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important; }

  .fade {
    opacity: 0;
    transition: 2s; }

  .fade.is-show {
    opacity: 1;
    transition: 2s; }

  .fadein {
    opacity: 0;
    transition: 2s;
    transform: translateY(10rem); }

  .fadein.is-show {
    opacity: 1;
    transition: 2s;
    transform: translateY(0); }

  @font-face {
    font-family: "castellar";
    src: local("castellar"), url("../font/castellar-regular.ttf") format("truetype"); }
  .font_castellar {
    font-family: "castellar" !important; }

  @font-face {
    font-family: "Hightower";
    src: local("Hightower"), url("../font/Hightower-Text-Roman.otf") format("opentype"); }
  .font_Hightower {
    font-family: "Hightower" !important; }

  @font-face {
    font-family: "LibreBaskerville";
    src: local("LibreBaskerville"), url("../font/LibreBaskerville-Regular.ttf") format("opentype"); }
  .font_LibreBaskerville {
    font-family: "LibreBaskerville" !important; }

  #cs {
    background: #000;
    height: 100vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; }
    #cs .cs_logo {
      width: 20vw;
      margin-bottom: 44rem; }
    #cs .cs_txt {
      color: #9e9f9f;
      font-size: 19rem; } }
@media screen and (min-width: 869px) and (max-width: 768px) {
  #cs {
    background: #000;
    height: 100vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; }
    #cs .cs_logo {
      width: 60vw;
      margin-bottom: 5vw; }
    #cs .cs_txt {
      color: #9e9f9f;
      font-size: 5vw; } }
@media screen and (min-width: 869px) {
  .top1 {
    position: fixed;
    background: #000;
    width: 100%;
    height: 100vh;
    z-index: 8; }
    .top1 .top1_logo {
      width: 532rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%); }

  .video {
    position: fixed;
    background: #000;
    width: 100%;
    height: 100vh;
    z-index: 6; }
    .video video {
      position: fixed;
      /* スクロールしても固定したい場合 */
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      object-fit: cover; }

  #top2 {
    background: url("../img/top2_bg.png") no-repeat center bottom #000;
    background-size: cover;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
    #top2 #top2_inner {
      width: 1390rem;
      margin: 0 auto;
      text-align: left; }
      #top2 #top2_inner .top2_logo {
        width: 423rem;
        margin-bottom: 100rem; }
        #top2 #top2_inner .top2_logo img {
          width: 100%;
          height: auto;
          display: block; }
      #top2 #top2_inner .top2_list li {
        font-size: 30rem;
        margin-bottom: 1em; }
        #top2 #top2_inner .top2_list li:last-child {
          margin-bottom: 0; }
        #top2 #top2_inner .top2_list li a {
          color: #9e9f9f; }

  #about {
    background: url("../img/about_bgv2.png") no-repeat center top #000;
    background-size: contain;
    padding-top: 430rem;
    padding-bottom: 293rem; }
    #about .about_ttl {
      width: 1080rem;
      margin: 0 auto;
      text-align: left;
      color: #9e9f9f;
      font-size: 50rem;
      margin-bottom: 555rem; }
    #about .about_sub {
      color: #9e9f9f;
      font-size: 28rem;
      text-align: center; }
    #about .about_txt {
      text-align: center;
      color: #9e9f9f;
      font-size: 20rem;
      line-height: 2em; }
      #about .about_txt.txt2 {
        margin-bottom: 160rem; }
    #about .about_dl {
      color: #b48753;
      text-align: center;
      line-height: 1.4em;
      margin: 40rem 0; }
      #about .about_dl dt {
        font-size: 30rem;
        margin-bottom: 8rem; }
      #about .about_dl dd {
        font-size: 20rem; }

  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 39rem 0 0; }
    header.contact .hedaer_inner .hedaer_logo a {
      color: #595757; }
    header.designer .hedaer_inner .hedaer_logo a {
      color: #595757; }
    header.designer .hedaer_inner .hedaer_menu label {
      background-image: url("../img/menu_01_g.png"); }
    header .hedaer_inner {
      display: flex;
      justify-content: space-between;
      margin: 0 auto;
      width: 1390rem; }
      header .hedaer_inner .hedaer_logo {
        color: #9e9f9f;
        font-size: 30rem; }
        header .hedaer_inner .hedaer_logo a {
          color: #9e9f9f; }
      header .hedaer_inner .hedaer_menu .menuch {
        display: none; }
      header .hedaer_inner .hedaer_menu label {
        display: block;
        width: 44rem;
        height: 23rem;
        background: url("../img/menu_01.png") no-repeat center;
        background-size: contain;
        position: relative;
        z-index: 2; }
      header .hedaer_inner .hedaer_menu .menuch:checked + label {
        background-image: url("../img/menu_close.png"); }
      header .hedaer_inner .hedaer_menu .menuch:checked + label + .hedaer_menu_lists {
        right: 0;
        transition: 0.3s;
        opacity: 1; }
      header .hedaer_inner .hedaer_menu .hedaer_menu_lists {
        transition: 0.3s;
        opacity: 0;
        position: absolute;
        right: -100vw;
        top: 0;
        background: #000;
        z-index: 1;
        box-sizing: border-box;
        height: 100vh;
        padding: 0 264rem 0 125rem;
        display: flex;
        justify-content: center;
        align-items: center; }
        header .hedaer_inner .hedaer_menu .hedaer_menu_lists .hedaer_menu_list li {
          font-size: 30rem;
          line-height: 2em;
          text-align: right; }
          header .hedaer_inner .hedaer_menu .hedaer_menu_lists .hedaer_menu_list li a {
            color: rgba(255, 255, 255, 0.5); }
            header .hedaer_inner .hedaer_menu .hedaer_menu_lists .hedaer_menu_list li a:hover {
              color: #9e9f9f; }

  footer {
    padding: 77rem 0 66rem;
    border-top: solid 1px #838383;
    color: #9e9f9f;
    text-align: center;
    background: #000;
    position: relative; }
    footer .footer_logo {
      font-size: 38rem;
      margin-bottom: 22rem; }
    footer .footer_copy {
      font-size: 14rem; }
    footer .pagetop {
      position: absolute;
      right: 270rem;
      top: 50%;
      transform: translateY(-50%); }
      footer .pagetop a {
        font-size: 16rem;
        color: #9e9f9f;
        display: block;
        background: url("../img/arr_01.svg") no-repeat right center;
        background-size: 10rem;
        padding-right: 22rem; }

  #contact {
    position: relative; }
    #contact:before {
      content: '';
      display: block;
      height: 100%;
      width: 57.2%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 2;
      background: #e6e7e5; }
    #contact:after {
      content: '';
      display: block;
      width: 42.8%;
      position: absolute;
      right: 0;
      top: 0;
      height: 100%;
      background: url("../img/contact_bg.png") no-repeat left top;
      background-size: cover;
      z-index: 1; }
    #contact .contact_inner {
      position: relative;
      z-index: 3;
      width: 1100rem;
      margin: 0 auto;
      color: #595757;
      padding: 196rem 0 160rem; }
      #contact .contact_inner .contact_ttl {
        font-size: 50rem;
        margin-bottom: 67rem; }
      #contact .contact_inner .contact_table {
        max-width: 600rem; }
        #contact .contact_inner .contact_table .name {
          font-size: 18rem;
          width: 170rem;
          letter-spacing: 0.05em; }
        #contact .contact_inner .contact_table .input {
          width: calc(100% - 170rem); }
        #contact .contact_inner .contact_table .contact_boxes {
          display: flex;
          justify-content: space-between; }
          #contact .contact_inner .contact_table .contact_boxes .contact_box {
            width: 49%;
            border-bottom: solid 1rem #595757;
            display: flex;
            align-items: flex-end;
            padding-bottom: 12rem; }
            #contact .contact_inner .contact_table .contact_boxes .contact_box .name {
              width: 20rem; }
            #contact .contact_inner .contact_table .contact_boxes .contact_box .input {
              width: calc(100% - 20rem); }
              #contact .contact_inner .contact_table .contact_boxes .contact_box .input input[type="text"] {
                border: none;
                background: none;
                font-size: 18rem;
                width: 100%; }
        #contact .contact_inner .contact_table .contact_txt {
          margin-top: 65rem;
          display: flex;
          align-items: flex-end;
          padding-bottom: 12rem;
          border-bottom: solid 1rem #595757; }
          #contact .contact_inner .contact_table .contact_txt input[type="text"] {
            border: none;
            background: none;
            font-size: 18rem;
            width: 100%; }
        #contact .contact_inner .contact_table .contact_textarea {
          border: solid 1rem #595757;
          box-sizing: border-box;
          margin-top: 60rem;
          padding: 20rem;
          margin-bottom: 30rem; }
          #contact .contact_inner .contact_table .contact_textarea .txt {
            font-size: 18rem;
            margin-bottom: 5rem; }
          #contact .contact_inner .contact_table .contact_textarea textarea {
            width: 100%;
            height: 140rem;
            border: none;
            background: none; }
        #contact .contact_inner .contact_table .biko {
          font-size: 16rem;
          margin-bottom: 50rem; }
      #contact .contact_inner .send input[type="submit"] {
        display: inline-block;
        color: #fff;
        font-size: 20rem;
        width: 215rem;
        text-align: center;
        background: #595757;
        box-sizing: border-box;
        border: solid 1px #595757;
        transition: 0.3s;
        padding: 13rem 0; }
        #contact .contact_inner .send input[type="submit"]:hover {
          background: #fff;
          color: #595757;
          transition: 0.3s;
          cursor: pointer; }

  #world {
    background: url("../img/world_bg.png") no-repeat top left;
    background-size: contain; }
    #world .world_head {
      position: relative;
      width: 1100rem;
      margin: 0 auto;
      text-align: right;
      color: #9e9f9f;
      padding: 480rem 0 620rem;
      z-index: 3; }
      #world .world_head .world_ttl {
        font-size: 50rem;
        text-shadow: #000 1rem 0 10rem; }
      #world .world_head .jp {
        font-size: 20rem;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        margin-top: 5rem;
        text-shadow: #000 1rem 0 10rem; }
    #world .world_bg {
      position: relative;
      background: #e7e6e4; }
      #world .world_bg:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        bottom: 100%;
        width: 100%;
        height: 670rem;
        background: linear-gradient(rgba(231, 230, 228, 0), #e7e6e4); }
    #world .world_inner {
      width: 1100rem;
      margin: 0 auto;
      padding-bottom: 240rem; }
      #world .world_inner .world_txt {
        text-align: center;
        position: relative;
        top: -30rem;
        font-size: 21rem;
        margin-bottom: 25rem; }
      #world .world_inner .world_list {
        display: flex;
        justify-content: center; }
        #world .world_inner .world_list li {
          width: 181rem;
          margin: 0 22rem; }
      #world .world_inner .world_body .world_body_ttl {
        margin-top: 57rem;
        color: #595757;
        border-left: solid 4rem #595757;
        padding: 3rem 0 3rem 15rem;
        font-size: 28rem; }
        #world .world_inner .world_body .world_body_ttl span {
          font-size: 38rem;
          letter-spacing: -0.2em;
          display: inline-block;
          margin-right: 20rem; }
      #world .world_inner .world_body .world_body_inner {
        box-sizing: border-box;
        padding: 44rem 30rem; }
        #world .world_inner .world_body .world_body_inner .img {
          text-align: center; }
          #world .world_inner .world_body .world_body_inner .img img {
            width: 100%;
            height: auto; }
          #world .world_inner .world_body .world_body_inner .img.img2 img {
            width: 589rem;
            display: inline-block; }
        #world .world_inner .world_body .world_body_inner .world_body_txt {
          font-size: 20rem;
          line-height: 1.8em;
          color: #595757;
          padding-bottom: 10rem; }
          #world .world_inner .world_body .world_body_inner .world_body_txt .inbl {
            display: inline-block;
            padding-left: 10rem;
            position: relative;
            top: -4rem; }
            #world .world_inner .world_body .world_body_inner .world_body_txt .inbl span {
              padding: 5rem 10rem;
              line-height: 1;
              display: inline-block;
              border: solid 1rem #595757;
              vertical-align: middle;
              margin-right: 25rem; }
        #world .world_inner .world_body .world_body_inner .sub {
          color: #595757;
          margin-top: 74rem;
          font-size: 24rem;
          position: relative;
          padding-left: 30rem;
          border-bottom: solid 1rem #595757;
          padding-bottom: 14rem;
          margin-bottom: 70rem; }
          #world .world_inner .world_body .world_body_inner .sub:before {
            content: '';
            position: absolute;
            left: 0;
            top: 0; }
          #world .world_inner .world_body .world_body_inner .sub.n01:before {
            content: '1.'; }
          #world .world_inner .world_body .world_body_inner .sub.n02:before {
            content: '2.'; }
          #world .world_inner .world_body .world_body_inner .sub.n03:before {
            content: '3.'; }
        #world .world_inner .world_body .world_body_inner .world_body_box {
          display: flex;
          justify-content: space-between;
          color: #595757; }
          #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_right {
            width: 510rem;
            font-size: 20rem;
            line-height: 1.5em; }
          #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left {
            width: 478rem;
            display: flex;
            justify-content: center;
            align-items: center; }
            #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left.img1 img {
              width: 440rem; }
            #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left.img2 img {
              width: 322rem; }
            #world .world_inner .world_body .world_body_inner .world_body_box .world_body_box_left.img3 img {
              width: 478rem; }

  #designer .designer_head {
    background: url("../img/designer_bgv2.jpg") no-repeat center top;
    background-size: cover;
    padding: 460rem 0 430rem; }
    #designer .designer_head .designer_ttl {
      width: 1100rem;
      margin: 0 auto;
      font-size: 50rem;
      color: #595757; }
  #designer .designer_body {
    padding: 165rem 0 200rem;
    background: #e6e7e5; }
    #designer .designer_body .designer_body_inner {
      width: 1022rem;
      margin: 0 auto; }
      #designer .designer_body .designer_body_inner .designer_posi {
        letter-spacing: 0.1em;
        color: #b48753;
        padding-bottom: 20rem;
        font-size: 23rem; }
      #designer .designer_body .designer_body_inner .designer_name {
        font-size: 32rem;
        color: #595757;
        letter-spacing: 0.1em;
        padding-bottom: 65rem;
        border-bottom: solid 1rem #595757;
        margin-bottom: 60rem; }
      #designer .designer_body .designer_body_inner .txt {
        color: #595757;
        font-size: 20rem;
        line-height: 1.66em;
        letter-spacing: 0.1em;
        font-feature-settings: "palt"; }

  #work .work_head {
    background: url("../img/work_bg.png") no-repeat center top;
    background-size: cover;
    padding-top: 610rem;
    padding-bottom: 345rem;
    position: relative; }
    #work .work_head .work_ttl {
      text-align: center;
      font-size: 50rem;
      position: relative;
      z-index: 2;
      color: #595757; }
    #work .work_head:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 670rem;
      background: linear-gradient(rgba(231, 230, 228, 0), #e7e6e4);
      z-index: 1; }
  #work .work_body {
    background: #e7e6e4;
    color: #595757;
    padding-top: 120rem; }
    #work .work_body .work_inner {
      width: 1380rem;
      margin: 0 auto; }
      #work .work_body .work_inner .work_box .work_body_ttl {
        font-size: 36rem;
        text-align: center;
        margin-bottom: 25rem; }
      #work .work_body .work_inner .work_box .work_body_sub {
        text-align: center;
        font-size: 21rem;
        margin-bottom: 115rem; }
        #work .work_body .work_inner .work_box .work_body_sub span {
          font-size: 28rem; }
      #work .work_body .work_inner .work_box .work_body_head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 65rem; }
        #work .work_body .work_inner .work_box .work_body_head .work_body_head_left {
          width: 790rem; }
          #work .work_body .work_inner .work_box .work_body_head .work_body_head_left img {
            display: block; }
        #work .work_body .work_inner .work_box .work_body_head .work_body_head_right {
          width: 485rem; }
          #work .work_body .work_inner .work_box .work_body_head .work_body_head_right .work_body_head_txt .ttl {
            font-size: 21rem;
            line-height: 2.19em; }
          #work .work_body .work_inner .work_box .work_body_head .work_body_head_right .work_body_head_txt .name {
            font-size: 19rem;
            line-height: 1.36em;
            margin-top: 120rem; }
      #work .work_body .work_inner .work_box .work_body_head_img {
        text-align: right; }
        #work .work_body .work_inner .work_box .work_body_head_img img {
          width: 810rem; }
      #work .work_body .work_inner .work_box .work_series {
        padding-top: 108rem;
        padding-bottom: 206rem; }
        #work .work_body .work_inner .work_box .work_series .work_series_box {
          width: 1100rem;
          margin: 0 auto; }
          #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider {
            margin-bottom: 80rem;
            position: relative; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .work_series_slide {
              height: 605rem;
              background-position: center;
              background-size: contain;
              background-repeat: no-repeat; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-prev {
              position: absolute;
              width: 25rem;
              height: 50rem;
              background: url("../img/arr_slide_prev.png") no-repeat center;
              background-size: contain;
              left: 0;
              z-index: 5; }
              #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-prev:before {
                display: none; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-next {
              position: absolute;
              width: 25rem;
              height: 50rem;
              background: url("../img/arr_slide_next.png") no-repeat center;
              background-size: contain;
              right: 0;
              z-index: 5; }
              #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_slider .slick-next:before {
                display: none; }
          #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_box_txt {
            font-size: 21rem;
            line-height: 1.66em; }
          #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_btn {
            margin-top: 30rem; }
            #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_btn a {
              color: #595757;
              padding: 13rem;
              display: inline-block;
              border: solid 0.25rem #595757;
              transition: 0.3s; }
              #work .work_body .work_inner .work_box .work_series .work_series_box .work_series_btn a:hover {
                transition: 0.3s;
                color: #9e9f9f;
                background: #595757;
                cursor: pointer; } }
