.caption {
  margin-top: min(10 / 1720 * 100vw, 10px);
  font-size: min(16 / 1720 * 100vw, 16px);
}
@media screen and (max-width: 768px) {
  .caption {
    margin-top: 0.4em;
    font-size: min(10 / 375 * 100vw, 10px);
  }
}

#keyvisual {
  position: relative;
}
@media screen and (min-width: 1320px) {
  #keyvisual {
    padding-top: min(140 / 1720 * 100vw, 140px);
    padding-bottom: calc(min(120 / 1720 * 100vw, 120px) + min(170 / 1320 * 100vw, 170px));
  }
}
@media screen and (min-width: 769px) {
  #keyvisual {
    padding-top: calc(140 / 1720 * 100vw);
    padding-bottom: calc(120 / 1720 * 100vw + min(170 / 1320 * 100vw, 170px));
  }
}
#keyvisual > .flex_wrap {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#keyvisual .kv {
  width: 44.7916666667%;
}
@media screen and (max-width: 768px) {
  #keyvisual {
    padding-top: calc(1em + min(60 / 375 * 100vw, 60px));
    padding-bottom: calc(1.5em + min(80 / 375 * 100vw, 80px));
  }
  #keyvisual > .flex_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
  }
  #keyvisual .kv {
    width: 61.8666666667%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
#keyvisual .area_text {
  padding-top: min(15 / 1720 * 100vw, 15px);
  width: 51.0416666667%;
}
#keyvisual .area_text .box_img {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#keyvisual .area_text .box_img .img01 {
  width: 29.5918367347%;
}
#keyvisual .area_text .box_img .box {
  width: 63.6734693878%;
  padding: min(34 / 1720 * 100vw, 34px) 0;
  position: relative;
}
#keyvisual .area_text .box_img .box .img02 {
  width: 50%;
}
#keyvisual .area_text .box_img .box .img03 {
  width: 52.2435897436%;
  position: absolute;
  bottom: min(60 / 1720 * 100vw, 60px);
  right: 0;
}
#keyvisual .area_text .box_title {
  margin-top: calc(min(30 / 1720 * 100vw, 30px) * -1);
}
#keyvisual .area_text .box_title .catch {
  font-size: min(32 / 1720 * 100vw, 32px);
}
#keyvisual .area_text .box_title .title {
  width: 87.7551020408%;
  margin-top: min(10 / 1720 * 100vw, 10px);
}
#keyvisual .area_text .box_status {
  width: 89.7959183673%;
  margin-top: min(40 / 1720 * 100vw, 40px);
}
@media screen and (max-width: 768px) {
  #keyvisual .area_text {
    display: contents;
  }
  #keyvisual .area_text .box_img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0.6em;
    padding-left: 66.1333333333%;
  }
  #keyvisual .area_text .box_img .img01 {
    width: 92.9133858268%;
    margin-left: 7.0866141732%;
    overflow: hidden;
  }
  #keyvisual .area_text .box_img .img01 img {
    aspect-ratio: 118/156;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 100%;
       object-position: 50% 100%;
  }
  #keyvisual .area_text .box_img .box {
    width: 87.4015748031%;
    height: calc(113 / 375 * 100vw);
    margin-top: 1em;
    padding: 0;
  }
  #keyvisual .area_text .box_img .box .img02 {
    width: 79.2792792793%;
    position: relative;
    z-index: 1;
  }
  #keyvisual .area_text .box_img .box .img03 {
    width: 79.2792792793%;
    bottom: 0;
  }
  #keyvisual .area_text .box_title {
    width: 96.4%;
    margin: -1.2em 0 0 5.4%;
  }
  #keyvisual .area_text .box_title .catch {
    font-size: min(16 / 375 * 100vw, 16px);
  }
  #keyvisual .area_text .box_title .title {
    width: 87.7551020408%;
    margin-top: 0.4em;
  }
  #keyvisual .area_text .box_status {
    width: 90%;
    margin: 1.2em 0 0 5.4%;
  }
}

#contactarea {
  width: 100%;
  height: min(170 / 1320 * 100vw, 170px);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 20000;
}
#contactarea .wrap {
  height: 100%;
  padding: min(28 / 1720 * 100vw, 28px) 0;
  background: url(../img/contactarea_noise.png) #584B41;
  background-size: min(217 / 1720 * 100vw, 217px);
  -webkit-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
          box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
}
#contactarea dl {
  width: min(724 / 1720 * 100vw, 724px);
  margin-inline: auto;
}
#contactarea dl dt {
  color: #A28777;
  font-weight: 500;
  text-align: center;
}
#contactarea dl dd {
  margin-top: min(10 / 1720 * 100vw, 10px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  #contactarea {
    height: min(80 / 375 * 100vw, 80px);
  }
  #contactarea .wrap {
    padding: 0.6em 0;
  }
  #contactarea dl {
    width: 92%;
    margin: 0 auto 0;
  }
  #contactarea dl dt {
    font-size: min(14 / 375 * 100vw, 14px);
    line-height: 1;
  }
  #contactarea dl dd {
    margin-top: 0.55em;
  }
  #contactarea dl dd .btn {
    width: 47.7876106195%;
    height: min(36 / 375 * 100vw, 36px);
  }
  #contactarea dl dd .btn a > span {
    font-size: min(12 / 375 * 100vw, 12px);
  }
  #contactarea dl dd .btn a > span span {
    font-size: min(10 / 375 * 100vw, 10px);
  }
  #contactarea.scroll {
    width: 100%;
    height: min(60 / 375 * 100vw, 60px);
    position: fixed;
    bottom: 0;
  }
  #contactarea.scroll .wrap {
    padding: 0.75em 0;
  }
  #contactarea.scroll dl dt {
    display: none;
  }
  #contactarea.scroll dl dd {
    margin-top: 0;
  }
}

#about {
  padding-top: min(120 / 1720 * 100vw, 120px);
  background: url(../img/equipment/deco_wave.png) no-repeat right bottom -5em;
  background-size: min(978 / 1720 * 100vw, 978px);
}
#about > .flex_wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
#about .deco {
  width: min(1024 / 1720 * 100vw, 1024px);
  position: absolute;
  top: min(80 / 1720 * 100vw, 80px);
  left: 0;
}
#about .box_text {
  width: 48.9583333333%;
  padding-top: min(24 / 1720 * 100vw, 24px);
  padding-left: calc((100% - 1720px) / 2 + 100px);
  padding-right: 5.2083333333%;
}
@media screen and (max-width: 1720px) {
  #about .box_text {
    padding-left: min(5.2083333333%, 100px);
  }
}
#about .box_text .title {
  font-size: min(40 / 1720 * 100vw, 40px);
  line-height: 1.8;
}
#about .box_text .text {
  margin-top: min(28 / 1720 * 100vw, 28px);
  font-size: min(20 / 1720 * 100vw, 20px);
}
#about .box_text .box_time {
  max-width: 640px;
  margin-top: min(32 / 1720 * 100vw, 32px);
}
#about .box_text .img_map {
  max-width: 640px;
  margin-top: min(60 / 1720 * 100vw, 60px);
}
#about .box_image {
  width: 51.0416666667%;
}
#about .box_image .catch {
  height: min(140 / 1720 * 100vw, 140px);
  margin: -1.7em 0 0 3.3em;
  padding: 3.6em 0 0 1.2em;
  border-left: 1px solid #A28777;
  position: relative;
}
#about .box_image .catch span {
  display: block;
}
#about .box_image .catch .en {
  color: #A28777;
}
#about .box_image .catch .title {
  font-size: min(24 / 1720 * 100vw, 24px);
}
#about .box_image .image_seccond {
  width: 73.4693877551%;
  margin-left: 3.3em;
  margin-top: min(60 / 1320 * 100vw, 60px);
  aspect-ratio: 720/778;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: relative;
}
@media screen and (min-width: 1320px) {
  #about .box_image .image_seccond {
    margin-top: min(60 / 1720 * 100vw, 60px);
  }
}
#about .box_image .image02 {
  width: 100%;
  position: relative;
}
#about .box_image .image02 .img02 {
  width: 41.6666666667%;
  margin-top: 7.7120822622%;
}
#about .box_image .image02 .img03 {
  width: 50%;
  position: absolute;
  top: 0;
  right: 0;
}
#about .box_image .image03 {
  width: 94.5833333333%;
  aspect-ratio: 681/458;
  margin-left: 5.5555555556%;
  position: absolute;
  bottom: 0;
}
#about .box_image .image03 .img04,
#about .box_image .image03 .img05 {
  position: absolute;
}
#about .box_image .image03 .img04 {
  width: 47.1365638767%;
  bottom: 0;
}
#about .box_image .image03 .img05 {
  width: 44.0528634361%;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  #about {
    padding-top: 3.6em;
    background: url(../img/equipment/deco_wave.png) no-repeat right bottom -5em;
    background-size: 100%;
  }
  #about > .flex_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #about .deco {
    width: 58.6666666667%;
    top: 1.8em;
  }
  #about .box_text {
    width: 100%;
    padding: 0 5.4%;
  }
  #about .box_text .title {
    font-size: min(24 / 375 * 100vw, 24px);
  }
  #about .box_text .text {
    margin-top: 1.2em;
    font-size: min(16 / 375 * 100vw, 16px);
  }
  #about .box_text .box_time {
    margin-top: 1.5em;
  }
  #about .box_text .img_map {
    max-width: 640px;
    margin-top: 2.5em;
  }
  #about .box_image {
    width: 100%;
    margin-top: 2.9em;
  }
  #about .box_image .image01 {
    padding-left: 5.4%;
  }
  #about .box_image .catch {
    height: min(100 / 375 * 100vw, 100px);
    margin: -1.1em 0 0 1.75em;
    padding: 2.6em 0 0 0.8em;
  }
  #about .box_image .catch .en {
    font-size: min(14 / 375 * 100vw, 14px);
  }
  #about .box_image .catch .title {
    font-size: min(18 / 375 * 100vw, 18px);
  }
  #about .box_image .image_seccond {
    width: 100%;
    width: calc(89.2% - 1.75em);
    margin: 2em 0 0 calc(5.4% + 1.75em);
  }
}

#equipment {
  margin-top: min(64 / 1720 * 100vw, 64px);
  padding-top: min(176 / 1720 * 100vw, 176px);
  position: relative;
}
#equipment .deco {
  position: absolute;
  top: 0;
  left: min(24 / 1720 * 100vw, 24px);
}
#equipment .content {
  padding: min(100 / 1720 * 100vw, 100px) 0;
  position: relative;
}
#equipment .content + .content {
  margin-top: min(100 / 1720 * 100vw, 100px);
}
#equipment .content .inbox {
  width: 93.4210526316%;
}
#equipment .content.left {
  background: linear-gradient(to left, transparent 0%, transparent calc((100vw - min(100%, 1720px)) / 2 + min(5.2083333333%, 100px)), #fff calc((100vw - min(100%, 1720px)) / 2 + min(5.2083333333%, 100px)), #fff 100%);
}
#equipment .content.right {
  background: linear-gradient(to right, transparent 0%, transparent calc((100vw - min(100%, 1720px)) / 2 + min(5.2083333333%, 100px)), #fff calc((100vw - min(100%, 1720px)) / 2 + min(5.2083333333%, 100px)), #fff 100%);
}
#equipment .box_text .title {
  font-size: min(40 / 1720 * 100vw, 40px);
  line-height: 1.6;
}
#equipment .box_text .title span {
  display: block;
}
#equipment .box_text .title .sub {
  margin-bottom: 1.1em;
  font-size: min(24 / 1720 * 100vw, 24px);
}
#equipment .box_text .title .en {
  height: min(65 / 1720 * 100vw, 65px);
  display: block;
}
#equipment .box_text .title .en img {
  width: auto;
  height: 100%;
}
#equipment .box_text .text {
  font-size: min(20 / 1720 * 100vw, 20px);
}
@media screen and (max-width: 768px) {
  #equipment {
    margin-top: 1.45em;
    padding-top: 2.2em;
  }
  #equipment .deco {
    width: min(354 / 375 * 100vw, 354px);
    left: 3.2%;
    margin-inline: auto;
  }
  #equipment .content {
    padding: 3.2em 0;
  }
  #equipment .content + .content {
    margin-top: 3.2em;
  }
  #equipment .content .inbox {
    width: 100%;
  }
  #equipment .content.left, #equipment .content.right {
    background: #fff;
  }
  #equipment .box_text .title {
    font-size: min(18 / 375 * 100vw, 18px);
    line-height: 1.6;
  }
  #equipment .box_text .title .sub {
    margin-bottom: 1em;
    font-size: min(18 / 375 * 100vw, 18px);
  }
  #equipment .box_text .title .en {
    height: min(38 / 375 * 100vw, 38px);
  }
  #equipment .box_text .text {
    font-size: min(16 / 375 * 100vw, 16px);
  }
}
#equipment .lifestyle .box_text {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#equipment .lifestyle .box_text .title {
  padding: 0.1em 0 0 0.12em;
}
#equipment .lifestyle .box_text .text {
  width: 50.139275766%;
  padding-top: 0;
}
#equipment .lifestyle .box_lifestyle {
  width: 100%;
  margin-top: min(50 / 1720 * 100vw, 50px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(40 / 1320 * 100vw, 40px);
}
#equipment .lifestyle .box_lifestyle .item {
  width: 30.3621169916%;
}
#equipment .lifestyle .box_lifestyle .caption {
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #equipment .lifestyle .box_text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #equipment .lifestyle .box_text .title {
    padding: 0;
  }
  #equipment .lifestyle .box_text .text {
    width: 100%;
    padding-top: 1.5em;
  }
  #equipment .lifestyle .box_lifestyle {
    margin-top: 1.5em;
    gap: min(12 / 375 * 100vw, 12px);
  }
  #equipment .lifestyle .box_lifestyle .item {
    width: 47.619047619%;
  }
  #equipment .lifestyle .item:nth-of-type(4),
  #equipment .lifestyle .item:nth-of-type(5) {
    margin-top: 0.3em;
  }
  #equipment .lifestyle .large {
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
}
#equipment .design .inbox {
  margin-left: 6.5789473684%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#equipment .design .inbox .box_text {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#equipment .design .inbox .box_text .title {
  padding: 0.1em 0 0 0.12em;
}
#equipment .design .inbox .box_text .text {
  width: 63.2311977716%;
  padding-top: 0;
}
#equipment .design .inbox .box_design {
  width: 100%;
  margin-top: min(60 / 1720 * 100vw, 60px);
  gap: 0 4.2253521127%;
}
#equipment .design .inbox .box_design .item {
  width: 27.8873239437%;
  text-align: center;
}
#equipment .design .inbox .box_design .item.second {
  width: 35.7746478873%;
}
@media screen and (max-width: 768px) {
  #equipment .design .inbox {
    margin-left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #equipment .design .inbox .box_text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #equipment .design .inbox .box_text .title {
    padding: 0;
  }
  #equipment .design .inbox .box_text .text {
    width: 100%;
    padding-top: 1.5em;
  }
  #equipment .design .inbox .box_design {
    width: 100%;
    margin-top: 1.6em;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0.7em 0;
  }
  #equipment .design .inbox .box_design .item {
    width: 47.7611940299%;
  }
  #equipment .design .inbox .box_design .item:first-of-type {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  #equipment .design .inbox .box_design .item:nth-of-type(2) {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #equipment .design .inbox .box_design .item:nth-of-type(3) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
#equipment .value .inbox {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#equipment .value .box_text {
  width: 28.1690140845%;
}
#equipment .value .box_text .text {
  margin-top: min(34 / 1720 * 100vw, 34px);
}
#equipment .value .img {
  width: 66.7605633803%;
}
@media screen and (max-width: 768px) {
  #equipment .value .inbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #equipment .value .box_text {
    width: 100%;
  }
  #equipment .value .box_text .text {
    margin-top: 1em;
  }
  #equipment .value .img {
    width: 100%;
    margin-top: 1.5em;
  }
}
#equipment .privatespace {
  padding: 0 0 min(100 / 1720 * 100vw, 100px);
}
#equipment .privatespace .box_text {
  text-align: center;
}
#equipment .privatespace .splide {
  margin-top: min(60 / 1720 * 100vw, 60px);
}
#equipment .privatespace .splide .splide__list {
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
#equipment .privatespace .splide .splide__list .splide__slide {
  width: min(340 / 1720 * 100vw, 340px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#equipment .privatespace .splide .splide__list .splide__slide.horiz {
  width: min(490 / 1720 * 100vw, 490px);
  padding-top: min(60 / 1720 * 100vw, 60px);
}
#equipment .privatespace .splide .splide__list .splide__slide img {
  width: 100%;
  display: block;
}
@media screen and (max-width: 768px) {
  #equipment .privatespace {
    padding: 0 0 2em;
  }
  #equipment .privatespace .box_text .title .en {
    height: min(96 / 375 * 100vw, 96px);
  }
  #equipment .privatespace .splide {
    margin-top: 2.2em;
  }
  #equipment .privatespace .splide .splide__list .splide__slide {
    width: min(225 / 375 * 100vw, 225px);
  }
  #equipment .privatespace .splide .splide__list .splide__slide.horiz {
    width: min(324 / 375 * 100vw, 324px);
    padding-top: 2.2em;
  }
}
#equipment .ul_controll {
  width: min(104 / 1720 * 100vw, 104px);
  margin: min(33 / 1720 * 100vw, 33px) auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
#equipment .ul_controll li {
  width: min(40 / 1720 * 100vw, 40px);
  height: min(40 / 1720 * 100vw, 40px);
}
#equipment .ul_controll li:last-child {
  position: absolute;
  top: 0;
  right: calc(min(80 / 1720 * 100vw, 80px) * -1);
}
#equipment .ul_controll li button {
  width: 100%;
  height: 100%;
  display: block;
  border: 1px solid #584B41;
  border-radius: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
#equipment .ul_controll li button.splide_reverse svg, #equipment .ul_controll li button.splide_start svg {
  width: min(20 / 1720 * 100vw, 20px);
  fill: #584B41;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
#equipment .ul_controll li button.splide_reverse {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
#equipment .ul_controll li button.splide_start {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#equipment .ul_controll li button.splide_pause {
  background: url(../img/privatespace/icon_pause.png) no-repeat center top;
  background-size: 100%;
  background-color: #584B41;
  -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1);
}
#equipment .ul_controll li button.splide_pause.stop {
  background: url(../img/privatespace/icon_pause_stop.png) no-repeat center top;
  background-size: 100%;
  background-color: #A28777;
  border-color: #A28777;
}
@media (hover: hover) {
  #equipment .ul_controll li button:hover {
    border-color: #A28777;
    background-color: #A28777;
  }
  #equipment .ul_controll li button:hover.splide_reverse svg, #equipment .ul_controll li button:hover.splide_start svg {
    fill: #fff;
  }
  #equipment .ul_controll li button:hover.splide_pause {
    background-color: #A28777;
  }
}
@media screen and (max-width: 768px) {
  #equipment .ul_controll {
    width: min(84 / 375 * 100vw, 84px);
    margin: 1.6em auto 0;
  }
  #equipment .ul_controll li {
    width: min(32 / 375 * 100vw, 32px);
    height: min(32 / 375 * 100vw, 32px);
  }
  #equipment .ul_controll li:last-child {
    right: calc(min(60 / 375 * 100vw, 60px) * -1);
  }
  #equipment .ul_controll li button.splide_reverse svg, #equipment .ul_controll li button.splide_start svg {
    width: min(16 / 375 * 100vw, 16px);
  }
}

#map {
  padding-top: min(50 / 1720 * 100vw, 50px);
  padding-bottom: min(120 / 1720 * 100vw, 120px);
  position: relative;
}
#map .deco {
  width: 34.375%;
  margin-inline: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#map .title {
  font-size: min(40 / 1720 * 100vw, 40px);
  text-align: center;
  position: relative;
}
#map .gmap {
  margin-top: min(20 / 1720 * 100vw, 20px);
  padding: 4px;
  background: #fff;
  line-height: 1;
}
#map .gmap iframe {
  width: 100%;
  height: min(570 / 1720 * 100vw, 570px);
}
#map .box_btn {
  width: auto;
  margin-top: min(40 / 1720 * 100vw, 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#map .box_btn .btn {
  width: min(240 / 1720 * 100vw, 240px);
  height: min(48 / 1720 * 100vw, 48px);
}
#map .box_btn .btn a {
  border: 1px solid #584B41;
  color: #584B41;
  font-size: min(16 / 1720 * 100vw, 16px);
  position: relative;
}
#map .box_btn .btn a::after {
  content: "";
  width: min(12 / 1720 * 100vw, 12px);
  height: min(12 / 1720 * 100vw, 12px);
  display: inline-block;
  background-color: #584B41;
  -webkit-mask: url(../img/icon_arrow_diagonal.svg);
          mask: url(../img/icon_arrow_diagonal.svg);
  -webkit-mask-size: min(12 / 1720 * 100vw, 12px);
          mask-size: min(12 / 1720 * 100vw, 12px);
  vertical-align: middle;
  margin-left: 0.6em;
}
@media (hover: hover) {
  #map .box_btn .btn a:hover {
    border-color: #A28777;
    background: #A28777;
    color: #fff;
  }
  #map .box_btn .btn a:hover::after {
    background-color: #fff;
  }
}
@media screen and (max-width: 768px) {
  #map {
    padding-top: 4.4em;
    padding-bottom: 3.75em;
  }
  #map .deco {
    width: 47.7333333333%;
    top: 3.7em;
  }
  #map .title {
    font-size: min(24 / 375 * 100vw, 24px);
  }
  #map .gmap {
    margin-top: 0.8em;
    padding: 4px;
  }
  #map .gmap iframe {
    width: 100%;
    height: min(240 / 375 * 100vw, 240px);
  }
  #map .box_btn {
    margin-top: 1.85em;
  }
  #map .box_btn .btn {
    width: min(184 / 375 * 100vw, 184px);
    height: min(40 / 375 * 100vw, 40px);
  }
  #map .box_btn .btn a {
    font-size: min(12 / 375 * 100vw, 12px);
  }
  #map .box_btn .btn a::after {
    width: min(12 / 375 * 100vw, 12px);
    height: min(12 / 375 * 100vw, 12px);
    -webkit-mask-size: min(12 / 375 * 100vw, 12px);
            mask-size: min(12 / 375 * 100vw, 12px);
  }
}