.screen {
  position: relative;
  text-transform: uppercase;
  transition: all 1s ease-out; }

.screen.left {
  clip-path: inset(0 100% 0 0); }

.screen.left.show {
  clip-path: inset(0); }

.screen.right {
  clip-path: inset(0 0 0 100%); }

.screen.right.show {
  clip-path: inset(0); }

body {
  background-color: #fff; }

.contents {
  width: 100%;
  margin: 80px auto 0; }
  .contents .kv {
    width: 100%;
    height: 711px;
    position: relative; }
    .contents .kv .bg_img {
      background-image: url(../img/about/header_location.png);
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      width: 50vw;
      height: 711px;
      position: absolute;
      left: 50%;
      top: 0; }
    .contents .kv .kv_inner {
      width: 90%;
      max-width: 1262px;
      margin: 0 auto;
      padding: 200px 0 0; }
      .contents .kv .kv_inner h2 {
        font-size: 28px;
        writing-mode: vertical-rl;
        font-weight: 400;
        letter-spacing: 0.2em;
        color: #0A0A0A;
        position: relative; }
        .contents .kv .kv_inner h2 span {
          position: absolute;
          font-size: 10px;
          font-weight: 400;
          letter-spacing: 0.1em;
          top: 0;
          right: -14px;
          color: #0A0A0A; }
        .contents .kv .kv_inner h2 span:after {
          content: "";
          width: 1px;
          height: 100px;
          background-color: #999;
          position: absolute;
          top: 120%;
          left: 50%;
          transform: translateX(-50%); }
  .contents .inner {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 170px 0 0; }
    .contents .inner .intro {
      font-size: 18px;
      font-weight: 400;
      line-height: 2.4;
      color: #0A0A0A;
      letter-spacing: 0.1em;
      margin: 0 auto 170px; }
    .contents .inner h3 {
      font-size: 20px;
      font-weight: 400;
      line-height: 1;
      color: #0A0A0A;
      margin: 0 0 70px;
      text-align: center; }
    .contents .inner ul {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      width: 100%;
      max-width: 980px;
      margin: 0 auto 0;
      padding: 0; }
      .contents .inner ul .shopinfo {
        flex-basis: 47%;
        margin-bottom: 50px; }
        .contents .inner ul .shopinfo .photo {
          width: 100%;
          margin: 0 0 15px; }
          .contents .inner ul .shopinfo .photo img {
            width: 100%; }
        .contents .inner ul .shopinfo h6 {
          font-size: 16px;
          font-weight: 600;
          line-height: 1;
          color: #0A0A0A;
          margin: 0 0 5px; }
        .contents .inner ul .shopinfo p {
          font-size: 16px;
          font-weight: 400;
          line-height: 1.8;
          color: #0A0A0A;
          margin: 0 0 15px; }
        .contents .inner ul .shopinfo ul {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 100%;
          border-top: 1px solid #ECEDED;
          border-bottom: 1px solid #ECEDED;
          padding: 15px 0;
          margin: 0 auto; }
          .contents .inner ul .shopinfo ul li {
            font-size: 14px;
            font-weight: 400;
            line-height: 1;
            flex-basis: auto; }
            .contents .inner ul .shopinfo ul li a {
              text-decoration: none;
              color: #0A0A0A; }
          .contents .inner ul .shopinfo ul li:first-child {
            margin-left: 0; }
          .contents .inner ul .shopinfo ul .icon {
            flex-basis: 12px;
            margin: 0 5px 0 25px; }
            .contents .inner ul .shopinfo ul .icon img {
              max-width: 10px;
              width: 10px; }
      .contents .inner ul .kei {
        flex-basis: 100%;
        padding-bottom: 25px;
        margin-bottom: 25px;
        border-bottom: 1px solid #ECEDED; }
    .contents .inner span {
      display: block;
      font-size: 14px;
      font-weight: 400;
      line-height: 1;
      color: #0A0A0A;
      margin: 0 0 100px;
      text-align: center; }

@media (max-width: 780px) {
  .contents {
    width: 100%;
    margin: 0 auto;
    padding-top: 12vw; }
    .contents .kv {
      width: 100%;
      height: 98.5897435897vw;
      position: relative; }
      .contents .kv .bg_img {
        background-image: url(../img/about/header_location-s.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        width: 100vw;
        height: 98.5897435897vw;
        position: absolute;
        left: 0;
        top: 0; }
      .contents .kv .kv_inner {
        width: 90vw;
        max-width: 90vw;
        margin: 0 auto;
        padding: 115.3846153846vw 0 0; }
        .contents .kv .kv_inner h2 {
          font-size: 4.8717948718vw;
          writing-mode: horizontal-tb;
          font-weight: 400;
          letter-spacing: 0.2em;
          color: #0A0A0A;
          position: relative;
          text-align: center; }
          .contents .kv .kv_inner h2 span {
            position: absolute;
            top: inherit;
            right: inherit;
            font-size: 2.5641025641vw;
            font-weight: 400;
            letter-spacing: 0.1em;
            bottom: -5vw;
            left: 50%;
            transform: translateX(-50%);
            color: #0A0A0A; }
          .contents .kv .kv_inner h2 span:after {
            content: none; }
    .contents .inner {
      width: 100%;
      max-width: 90vw;
      margin: 0 auto;
      padding: 0 0 0; }
      .contents .inner .intro {
        font-size: 3.3333333333vw;
        font-weight: 400;
        line-height: 2.4;
        color: #0A0A0A;
        letter-spacing: 0.01em;
        margin: 40vw auto 15vw; }
      .contents .inner ul {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        width: 100%;
        max-width: 90vw;
        margin: 0 auto 5vw;
        padding: 0; }
        .contents .inner ul .shopinfo {
          flex-basis: 100%;
          margin-bottom: 5vw; }
          .contents .inner ul .shopinfo .photo {
            width: 100%;
            margin: 0 0 2vw; }
            .contents .inner ul .shopinfo .photo img {
              width: 100%; }
          .contents .inner ul .shopinfo h6 {
            font-size: 3.3333333333vw;
            font-weight: 600;
            line-height: 1;
            color: #0A0A0A;
            margin: 0 0 1vw; }
          .contents .inner ul .shopinfo p {
            font-size: 3.0769230769vw;
            font-weight: 400;
            line-height: 1.8;
            color: #0A0A0A;
            margin: 0 0 2vw; }
          .contents .inner ul .shopinfo ul {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            border-top: 1px solid #ECEDED;
            border-bottom: 1px solid #ECEDED;
            padding: 2vw 0;
            margin: 0 auto; }
            .contents .inner ul .shopinfo ul li {
              font-size: 14px;
              font-weight: 400;
              line-height: 1;
              flex-basis: auto; }
              .contents .inner ul .shopinfo ul li a {
                text-decoration: none;
                color: #0A0A0A; }
            .contents .inner ul .shopinfo ul li:first-child {
              margin-left: 0; }
            .contents .inner ul .shopinfo ul .icon {
              flex-basis: 3vw;
              margin: 0 1vw 0 4vw; }
              .contents .inner ul .shopinfo ul .icon img {
                max-width: 2.5vw;
                width: 2.5vw; }
        .contents .inner ul .kei {
          flex-basis: 100%;
          padding-bottom: 2.5vw;
          margin-bottom: 2.5vw;
          border-bottom: 1px solid #ECEDED; }
      .contents .inner span {
        display: block;
        font-size: 3.0769230769vw;
        font-weight: 400;
        line-height: 1.5;
        color: #0A0A0A;
        margin: 0 0 15vw;
        text-align: left; } }

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