/**
* location
*
*/
/* ==========================================================================
01. location
========================================================================== */
.location {
  position: relative; }
  @media screen and (min-width: 768px), print {
    .location {
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 768px), print {
    .c-lead01 + .location {
      margin-top: 89px; } }
  @media screen and (min-width: 768px), print {
    .location.location02 {
      margin-top: 365px; } }
  @media screen and (max-width: 767px) {
    .location.location02 {
      margin-top: 43.48vw; } }
  @media screen and (min-width: 768px), print {
    .location.location03 {
      margin-top: 173px; } }
  @media screen and (max-width: 767px) {
    .location.location03 {
      margin-top: 28.74vw; } }

@media screen and (min-width: 768px), print {
  .location01 .location-ph,
  .location03 .location-ph {
    order: 2; } }

@media screen and (max-width: 767px) {
  .location-ph img {
    width: 100%; } }

@media screen and (min-width: 768px), print {
  .location03 .location-ph {
    position: relative; }
    .location03 .location-ph > span {
      position: absolute;
      z-index: -1;
      display: block;
      background: #D1C59E;
      content: "";
      left: -111px;
      bottom: -104px;
      width: 368px;
      height: 434px;
      opacity: 0.6; } }

@media screen and (min-width: 768px), print {
  .location-lead {
    margin: 0;
    width: auto;
    white-space: nowrap; }
    .location01 .location-lead,
    .location03 .location-lead {
      order: 1; }
    .location01 .location-lead {
      margin-top: 100px;
      margin-right: 55px; }
    .location02 .location-lead {
      margin-top: 460px;
      margin-left: 55px; }
    .location03 .location-lead {
      margin-top: 65px;
      margin-right: 55px; } }

@media screen and (max-width: 767px) {
  .location-lead {
    margin-top: 8.21vw; } }

@media screen and (min-width: 768px), print {
  .location-btn {
    margin-top: 204px; } }

@media screen and (max-width: 767px) {
  .location-btn {
    margin-top: 28.99vw; } }

@media screen and (min-width: 768px), print {
  .location-pic {
    position: absolute;
    z-index: 1;
    margin-top: 0; }
    .location01 .location-pic {
      top: 320px;
      left: 255px; }
    .location02 .location-pic {
      top: -170px;
      right: 140px; } }

@media screen and (max-width: 767px) {
  .location-pic {
    margin: 0 auto;
    width: 60.39vw;
    margin-top: 8.21vw;
    position: relative; } }

.location-pic > span {
  position: absolute;
  z-index: -1;
  display: block;
  background: #D1C59E;
  content: ""; }
  .location01 .location-pic > span {
    opacity: 0.7; }
    @media screen and (min-width: 768px), print {
      .location01 .location-pic > span {
        bottom: -103px;
        left: -130px;
        width: 351px;
        height: 278px; } }
    @media screen and (max-width: 767px) {
      .location01 .location-pic > span {
        bottom: -12.08vw;
        left: -15.7vw;
        width: 55.56vw;
        height: 48.31vw; } }
  .location02 .location-pic > span {
    opacity: 0.4; }
    @media screen and (min-width: 768px), print {
      .location02 .location-pic > span {
        right: -55px;
        bottom: -105px;
        width: 290px;
        height: 278px; } }
    @media screen and (max-width: 767px) {
      .location02 .location-pic > span {
        bottom: -12.08vw;
        left: -15.7vw;
        width: 55.56vw;
        height: 48.31vw; } }

.location-parts {
  position: absolute; }
  @media screen and (min-width: 768px), print {
    .location01 .location-parts {
      right: -40px;
      bottom: -160px; }
    .location02 .location-parts {
      right: -130px;
      bottom: -235px; }
    .location03 .location-parts {
      bottom: -195px;
      left: -140px; } }
  @media screen and (max-width: 767px) {
    .location01 .location-parts {
      right: 2.42vw;
      bottom: -28.99vw;
      width: 36.23vw; }
    .location02 .location-parts {
      right: 2.42vw;
      bottom: -36.23vw;
      width: 48.31vw; }
    .location03 .location-parts {
      bottom: -37.44vw;
      left: -9.66vw;
      width: 60.39vw; } }

.location-thumb {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 768px), print {
    .location-thumb {
      margin-top: 150px; } }
  @media screen and (max-width: 767px) {
    .location-thumb {
      margin-top: 43.48vw; } }
  @media screen and (min-width: 768px), print {
    .location-thumb .thumb {
      width: 46.5%; } }
  @media screen and (max-width: 767px) {
    .location-thumb .thumb {
      width: 50%; } }
  .location-thumb .thumb img {
    width: 100%; }
