@media screen and (max-width: 767px) {
  .pc2 {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp2 {
    display: none !important;
  }
}
/*=============================================
 * <image object-fit responsive>
 *=============================================*/
.img-ob {
  position: relative;
}
.img-ob img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .img-ob-pc {
    position: relative;
  }
  .img-ob-pc img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .img-ob-sp {
    position: relative;
  }
  .img-ob-sp img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
/*=============================================
 * <txt-vertical responsive>
 *=============================================*/
@media only screen and (min-width: 768px) {
  .txt-vertical-pc {
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
  .txt-vertical-pc .int {
    writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -moz-writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    display: inline-block;
    text-align: center;
    line-height: 1;
  }
  .txt-vertical-pc .txt-latin {
    cursor: vertical-text;
    direction: rtl;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
    letter-spacing: 0.25em;
  }
  .txt-vertical-pc .txt-dot {
    cursor: vertical-text;
    direction: ltr;
    writing-mode: vertical-lr;
    -o-writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    -moz-writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
    line-height: 0.4;
    display: inline-block;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .txt-vertical-sp {
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
  .txt-vertical-sp .int {
    writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -moz-writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    display: inline-block;
    text-align: center;
    line-height: 1;
  }
  .txt-vertical-sp .txt-latin {
    cursor: vertical-text;
    direction: rtl;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
    letter-spacing: 0.25em;
  }
  .txt-vertical-sp .txt-dot {
    cursor: vertical-text;
    direction: ltr;
    writing-mode: vertical-lr;
    -o-writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    -moz-writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
    line-height: 0.4;
    display: inline-block;
    margin: 0 auto;
  }
}
:root {
  --cl-main: #574f3c;
  --wrapPadding: 5%;
  --cl-main2: #3d3627;
}

.nav-main .txt {
  color: var(--cl-main2);
}

section.nav-main {
  overflow: unset;
}

.ttl-en {
  text-transform: uppercase;
  color: var(--cl-main);
  font-size: 3.5vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .ttl-en {
    font-size: 21px;
  }
}

.fs38 {
  font-size: 6.5vw;
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .fs38 {
    font-size: 38px;
    line-height: 83px;
  }
}

.mainVisual__Title[style*="visibility: visible"] span {
  animation-play-state: running;
}
.mainVisual__Title span {
  display: inline-block;
  opacity: 0;
  filter: blur(8px);
  transform: translateY(20px);
  animation: blurUp 0.8s ease forwards;
  animation-play-state: paused;
}

@keyframes blurUp {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}
#key-box .kv-ttl {
  bottom: 6vw;
  top: auto;
}
@media screen and (max-width: 767px) {
  #key-box .kv-ttl {
    left: 5vw;
    transform: none;
  }
}
#key-box .kv-ttl span {
  text-align: left;
}
@media screen and (min-width: 768px) {
  #key-box .kv-ttl {
    bottom: 57px;
    width: 1200px;
    max-width: calc(100% - 60px);
  }
}

footer {
  overflow: hidden;
}

#sec1 {
  position: relative;
  z-index: 2;
  background: url("../img/floor/s1_deco.png") no-repeat top center/300% auto;
  padding: 25vw 0 0;
}
#sec1 .group-content {
/*   position: sticky; */
  top: 0;
  padding: 5vw 0 97px;
  z-index: 2;
}
#sec1 .group-content .ttl-en {
  text-align: center;
}
#sec1 .group-content h2 {
  margin: 6vw auto 0;
  height: 60vw;
}
#sec1 .group-content .txt {
  margin: 0 var(--wrapPadding);
}
#sec1 .row1 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: hidden;
}
#sec1 .row1 .img2 {
  margin: 22vw 7vw 0 5vw;
  width: 72vw;
}
#sec1 .row1 .img3 {
  margin: 7vw -10vw 0 0;
}
#sec1 .row2 {
  margin: 12vw var(--wrapPadding) 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#sec1 .row2 .img {
  width: 40vw;
}
#sec1 .row2 .img2 {
  margin: 6vw 0 0;
  width: 35vw;
}
#sec1 .row3 {
  margin: 8vw 3vw 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 10vw;
  padding: 0 0 20vw;
}
#sec1 .row3 .img {
  width: 30vw;
}
#sec1 .row3 .img2 {
  width: 50vw;
  margin: 12vw 0 0;
}
@media screen and (min-width: 768px) {
  #sec1 {
    background-size: auto;
    padding: 218px 0 0;
  }
  #sec1 .group-content {
    padding: 30px 0 97px;
  }
  #sec1 .group-content h2 {
    width: 166px;
    margin: 53px auto 0;
    height: 370px;
  }
  #sec1 .group-content .txt {
    text-align: center;
    margin: 0;
  }
  #sec1 .row1 .img {
    max-width: calc(100% - 210px);
    width: 570px;
    height: 390px;
  }
  #sec1 .row1 .img2 {
    margin: 288px 158px 0 96px;
    width: auto;
  }
  #sec1 .row1 .img3 {
    width: calc(50% - 402px);
    height: 344px;
    margin: 85px 0 0;
  }
  #sec1 .row2 {
    margin: 79px auto 0;
    max-width: calc(100% - 60px);
    width: 1254px;
  }
  #sec1 .row2 .img {
    margin: 0 0 0 59px;
    width: auto;
  }
  #sec1 .row2 .img2 {
    margin: 33px 0 0;
    width: auto;
  }
  #sec1 .row3 {
    margin: 48px auto 0;
    max-width: calc(100% - 60px);
    width: 1348px;
    gap: 212px;
    padding: 0 0 200px;
  }
  #sec1 .row3 .img {
    width: auto;
  }
  #sec1 .row3 .img2 {
    width: auto;
    margin: 193px 0 0;
  }
}

#sec2 {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 10vw 0 0;
}
#sec2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -50vw;
  bottom: 0;
  background: url("../img/floor/s2_deco.png") no-repeat top center/300% auto;
}
#sec2 .wrap {
  position: relative;
  width: 1200px;
  max-width: calc(100% - 60px);
}
#sec2 h2 {
  line-height: 1.5;
  margin: 44px 0 10px;
}
#sec2 h2 small {
  display: block;
  font-size: 30px;
  margin: 10px 0 0;
}
#sec2 .ttl-small {
  font-size: 5vw;
  margin-bottom: 50px;
}
#sec2 .tabs-switch .tab-link {
  display: flex;
  gap: 3vw;
  margin: 0 0 30px;
}
#sec2 .tabs-switch .tab-link li {
  width: calc((100% - 6vw) / 3);
  box-sizing: border-box;
  border: 1px solid #b9b19f;
  transition: all 0.5s;
  font-size: 3vw;
  line-height: 2;
  padding: 25px 0;
  position: relative;
  letter-spacing: 0.05em;
}
#sec2 .tabs-switch .tab-link li:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -17px;
  background: url("../img/floor/s2_arrow.png") no-repeat bottom center/100% auto;
  width: 17px;
  height: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  transition-delay: 0.2s;
}
#sec2 .tabs-switch .tab-link li.active {
  border-color: var(--cl-main);
  background: var(--cl-main);
  color: #fff;
}
#sec2 .tabs-switch .tab-link li.active:after {
  opacity: 1;
  visibility: visible;
}
#sec2 .tabs-switch .tab-content .content-inner .group-content h3 {
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 6vw 0 5vw;
  text-align: left;
}
#sec2 .tabs-switch .tab-content .content-inner .group-content .txt {
  letter-spacing: 0.02em;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding: 60px 0 0;
  }
  #sec2::before {
    top: -303px;
    background-size: auto;
  }
  #sec2 .wrap {
    position: relative;
    width: 1200px;
    max-width: calc(100% - 60px);
  }
  #sec2 h2 {
    line-height: 1.5;
    margin: 44px 0 10px;
  }
  #sec2 h2 small {
    display: block;
    font-size: 30px;
    margin: 10px 0 0;
  }
  #sec2 .ttl-small {
    font-size: 30px;
    margin-bottom: 80px;
  }
  #sec2 .tabs-switch .tab-link {
    gap: 34px;
    margin: 0 0 54px;
  }
  #sec2 .tabs-switch .tab-link li {
    width: calc((100% - 68px) / 3);
    font-size: 18px;
    padding: 25px 0;
  }
  #sec2 .tabs-switch .tab-link li:hover {
    opacity: 0.7;
  }
  #sec2 .tabs-switch .tab-link li:after {
    bottom: -24px;
    width: 17px;
    height: 30px;
  }
  #sec2 .tabs-switch .tab-content .content-inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 79px;
  }
  #sec2 .tabs-switch .tab-content .content-inner .map {
    margin: 21px 0 0;
  }
  #sec2 .tabs-switch .tab-content .content-inner .group-content {
    max-width: calc(100% - 373px);
    width: 781px;
    position: relative;
    padding: 0 120px 0 0;
    box-sizing: border-box;
  }
  #sec2 .tabs-switch .tab-content .content-inner .group-content .img {
    height: 390px;
  }
  #sec2 .tabs-switch .tab-content .content-inner .group-content h3 {
    position: absolute;
    font-size: 30px;
    top: 92px;
    right: 28px;
    margin: 0;
    height: 400px;
  }
  #sec2 .tabs-switch .tab-content .content-inner .group-content .txt {
    margin: 34px 5px 0 20px;
  }
}

#sec3 {
  position: relative;
  margin: 25vw 0 0;
  padding: 8vw 0 20vw;
}
#sec3::before {
  content: "";
  position: absolute;
  top: -35vw;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../img/floor/s3_deco.png") no-repeat top center/300% auto;
  background-size: auto;
}
#sec3 .set {
  position: relative;
  text-align: center;
  margin: 0 0 10vw;
}
#sec3 .set h2 {
  margin: 5vw 0 6vw;
}
#sec3 .set .sub-txt {
  color: var(--cl-main2);
  letter-spacing: 0.02em;
}
#sec3 .sticky-img {
  margin: 0 var(--wrapPadding) 8vw;
}
#sec3 .video {
  background: #b7ad99;
  position: relative;
  width: 250px;
  max-width: 100%;
  height: 180px;
  margin: 10vw auto 0;
  overflow: hidden;
}
#sec3 .video video {
  scale: 1.4;
}
#sec3 .video iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#sec3 h3 {
  font-size: 5vw;
  line-height: 1.867;
  letter-spacing: 0.05em;
}
#sec3 .price {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  font-size: 5vw;
  line-height: 1.6;
}
#sec3 .price dt {
  letter-spacing: 0.1em;
}
#sec3 .price dd {
  letter-spacing: 0.05em;
}
#sec3 .price dd small {
  font-size: 3.5vw;
}
#sec3 .set1 {
  position: relative;
}
#sec3 .set1 .right .inner {
  margin: var(--wrapPadding);
}
#sec3 .set1 .right dl {
  font-size: 6vw;
  line-height: 1.867;
  margin: 0 0 6vw;
}
#sec3 .set1 .right dl dt {
  letter-spacing: 0.05em;
}
#sec3 .set1 .right dl dt small {
  font-size: 5vw;
}
#sec3 .set1 .right dl dd {
  margin: 6vw 0 0;
  text-align: right;
  letter-spacing: 0.05em;
}
#sec3 .set1 .right dl dd small {
  font-size: 4vw;
}
#sec3 .set1 .right .txt {
  letter-spacing: 0.01em;
}
#sec3 .set1 .right .btn-popup {
  margin: 12vw 0 0;
}
#sec3 .set1 .right .btn-popup a {
  max-width: 100%;
}
#sec3 .set2 {
  margin: 20vw 0 0;
}
#sec3 .set2 .right .inner {
  margin: 0 var(--wrapPadding);
}
#sec3 .set2 .right .inner .h3-bot {
  margin-bottom: 5vw;
}
#sec3 .set2 .right .txt + .txt {
  margin-top: 28px;
}
#sec3 .set2 .right .txt + .price {
  margin-top: 10vw;
}
#sec3 .set2 .right .price ~ .price {
  margin-top: 8vw;
}
#sec3 .set2 .right .title {
  margin: 5vw 0 2vw;
  text-align: center;
  font-size: 4vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#sec3 .set2 .right .box {
  position: relative;
  padding: 5vw;
  display: flex;
  justify-content: space-between;
  color: var(--cl-main2);
  line-height: 2.875;
}
#sec3 .set2 .right .box::before,
#sec3 .set2 .right .box:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2vw;
  border: 1px solid #8f8c85;
}
#sec3 .set2 .right .box::before {
  border-right: 0;
  left: 0;
}
#sec3 .set2 .right .box:after {
  right: 0;
  border-left: 0;
}
#sec3 .set2 .right .box li {
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  #sec3 .set2 .right .box li {
    min-width: 100px;
  }
}
#sec3 .set2 .right .btn-popup {
  margin: 12vw 0 0;
}
#sec3 .set3 {
  margin: 20vw 0 0;
}
#sec3 .set3 .right .inner {
  margin: 0 var(--wrapPadding);
}
#sec3 .set3 .right .group-ttl h3 {
  margin: 0 5vw 0;
}
#sec3 .set3 .right .group-ttl h3:last-child {
  margin: 0 5vw 7vw;
}
#sec3 .set3 .right .price {
  margin: 0 5vw 6vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  #sec3 .set3 .right .price dd {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
#sec3 .set3 .right .txt {
  width: calc(100% - 10vw);
  letter-spacing: 0.02em;
  margin: 0 auto;
}
#sec3 .set3 .right .line {
  height: 1px;
  background: #8f8c85;
  margin: 7vw 0;
}
#sec3 .set3 .right .group-note {
  margin: 8vw 0 0;
  background-color: rgba(255, 255, 255, 0.3);
  padding: 8vw 5vw;
  text-align: center;
}
#sec3 .set3 .right .group-note .title-note {
  font-size: 5vw;
  line-height: 1.4;
  margin: 0 0 5vw;
}
#sec3 .set3 .right .group-note .txt2 {
  color: var(--cl-main2);
  text-align: left;
  letter-spacing: 0.02em;
}
#sec3 .set3 .right .group-note .txt2 + .txt2 {
  margin-top: 28px;
}
@media screen and (min-width: 768px) {
  #sec3 {
    margin: 178px 0 0;
    padding: 50px 0 161px;
  }
  #sec3::before {
    top: -252px;
    background-size: auto;
  }
  #sec3 .set {
    margin: 0 0 58px;
  }
  #sec3 .set h2 {
    margin: 23px 0 35px;
  }
  #sec3 .sticky-img {
    position: sticky;
    width: 50%;
    margin: 16px 0 0;
    top: 34px;
  }
  #sec3 .sticky-img .img {
    height: 900px;
    max-height: calc(100vh - 100px);
  }
  #sec3 .video {
    width: 340px;
    height: 234px;
  }
  #sec3 h3 {
    font-size: 30px;
    line-height: 56px;
  }
  #sec3 .price {
    font-size: 25px;
  }
  #sec3 .price dd small {
    font-size: 19px;
  }
  #sec3 .set1 {
    display: flex;
    align-items: flex-start;
  }
  #sec3 .set1 .right {
    width: 642px;
    max-width: calc(50% - 30px);
  }
  #sec3 .set1 .right .inner {
    width: 516px;
    max-width: calc(100% - 30px);
    margin: 0 0 0 auto;
  }
  #sec3 .set1 .right dl {
    width: 423px;
    max-width: 100%;
    font-size: 30px;
    line-height: 56px;
    margin: 0 0 34px;
  }
  #sec3 .set1 .right dl dt small {
    font-size: 25px;
  }
  #sec3 .set1 .right dl dd {
    margin: 37px 0 0;
  }
  #sec3 .set1 .right dl dd small {
    font-size: 20px;
  }
  #sec3 .set1 .right .txt {
    width: 423px;
    max-width: 100%;
  }
  #sec3 .set1 .right .btn-popup {
    margin: 82px 0 0;
    width: 442px;
    max-width: 100%;
  }
  #sec3 .set1 .right .video {
    margin: 93px 0 0 auto;
  }
  #sec3 .set2 {
    margin: 155px 0 0;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
  }
  #sec3 .set2 .right {
    width: 600px;
    max-width: calc(50% - 30px);
  }
  #sec3 .set2 .right .inner {
    width: 496px;
    max-width: calc(100% - 30px);
    margin: 0;
  }

  #sec3 .set2 .right .inner .h3-bot {
    margin-bottom: 35px;
  }
  #sec3 .set2 .right .txt {
    margin: 0 -10px 0 0;
  }
  #sec3 .set2 .right .txt + .txt {
    margin-top: 36px;
  }
  #sec3 .set2 .right .txt + .price {
    margin-top: 85px;
  }
  #sec3 .set2 .right .price ~ .price {
    margin-top: 70px;
  }
  #sec3 .set2 .right .title {
    margin: 30px 0 14px;
    font-size: 20px;
  }
  #sec3 .set2 .right .box {
    padding: 23px 70px 31px 67px;
    line-height: 2.875;
  }
  #sec3 .set2 .right .box::before,
  #sec3 .set2 .right .box:after {
    width: 11px;
  }
  #sec3 .set2 .right .btn-popup {
    margin: 69px 0 0;
  }
  #sec3 .set2 .right .video {
    margin: 134px 44px 0 auto;
  }
  #sec3 .set3 {
    margin: 134px 0 0;
    display: flex;
    align-items: flex-start;
  }
  #sec3 .set3 .right {
    width: 661px;
    max-width: calc(50% - 30px);
  }
  #sec3 .set3 .right .inner {
    margin: 0 0 0 auto;
    max-width: calc(100% - 30px);
    width: 580px;
  }

  #sec3 .set3 .right .group-ttl h3 {
    margin: 0 45px 0;
  }
  #sec3 .set3 .right .group-ttl h3:last-child {
    margin: 0 45px 56px;
  }
  #sec3 .set3 .right .price {
    margin: 0 56px 36px 45px;
  }
  #sec3 .set3 .right .txt {
    width: 423px;
    max-width: calc(100% - 94px);
    margin: 0 0 0 47px;
  }
  #sec3 .set3 .right .line {
    margin: 41px 0 44px;
  }
  #sec3 .set3 .right .group-note {
    margin: 57px 0 0;
    padding: 53px 0 68px;
  }
  #sec3 .set3 .right .group-note .title-note {
    font-size: 25px;
    margin: 0 0 24px;
  }
  #sec3 .set3 .right .group-note .txt2 {
    text-align: inherit;
  }
  #sec3 .set3 .right .group-note .txt2 + .txt2 {
    margin-top: 36px;
  }
  #sec3 .set3 .right .video {
    margin: 89px 57px 0 auto;
  }
}

#sec4 {
  position: relative;
  color: #fff;
  text-align: center;
}
#sec4 .bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
}
#sec4 .wrap {
  position: relative;
  z-index: 2;
  margin-top: -100vh;
  padding-top: 15vw;
  padding-bottom: 15vw;
}
#sec4 h2 {
  letter-spacing: 0.05em;
  margin: 0 0 6vw;
}
#sec4 .txt {
  letter-spacing: 0.02em;
  text-align: left;
  color: inherit;
}
#sec4 .row {
  margin: 10vw 0 0;
  padding: 10vw 0 0;
  box-sizing: border-box;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
#sec4 .row .title {
  text-align: center;
  font-size: 5vw;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin: 0 0 6vw;
}
#sec4 .row .txt2 {
  text-align: left;
  letter-spacing: 0.02em;
}
#sec4 .group-tel-btn {
  margin: 12vw 0 0;
  padding: 8vw 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-sizing: border-box;
}
#sec4 .group-tel-btn .tel a {
  text-decoration: none;
}
#sec4 .group-tel-btn .tel .sub-tel {
  display: block;
  font-size: 15px;
  line-height: 1;
}
#sec4 .group-tel-btn .tel span {
  font-size: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  letter-spacing: 0.02em;
  margin: 13px 0;
}
#sec4 .group-tel-btn .tel span::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225px%22%20height%3D%2227px%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22Filter_0%22%3E%3CfeFlood%20flood-color%3D%22rgb(255%2C%20255%2C%20255)%22%20flood-opacity%3D%221%22%20result%3D%22floodOut%22%20%2F%3E%3CfeComposite%20operator%3D%22atop%22%20in%3D%22floodOut%22%20in2%3D%22SourceGraphic%22%20result%3D%22compOut%22%20%2F%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22compOut%22%20in2%3D%22SourceGraphic%22%20%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20filter%3D%22url(%23Filter_0)%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20155)%22%20d%3D%22M24.211%2C24.982%20C24.211%2C24.936%2024.209%2C24.892%2024.208%2C24.849%20C24.221%2C24.816%2024.231%2C24.788%2024.237%2C24.752%20L24.743%2C20.128%20C24.759%2C19.982%2024.675%2C19.850%2024.538%2C19.802%20L19.197%2C17.797%20C19.052%2C17.747%2018.891%2C17.797%2018.812%2C17.924%20L16.079%2C22.154%20C13.308%2C21.140%2010.725%2C19.469%208.706%2C17.298%20C8.644%2C17.234%208.580%2C17.165%208.517%2C17.095%20C6.387%2C14.731%204.869%2C11.872%204.073%2C8.865%20C4.083%2C8.863%204.091%2C8.860%204.098%2C8.854%20L8.585%2C6.543%20C8.716%2C6.476%208.782%2C6.336%208.748%2C6.192%20L7.375%2C0.756%20C7.339%2C0.612%207.216%2C0.520%207.068%2C0.517%20L2.318%2C0.438%20C2.291%2C0.438%202.265%2C0.438%202.236%2C0.446%20C2.149%2C0.427%202.056%2C0.416%201.968%2C0.411%20C1.550%2C0.399%201.143%2C0.541%200.834%2C0.835%20C0.499%2C1.139%200.305%2C1.561%200.292%2C2.015%20C0.103%2C8.329%202.302%2C14.359%206.492%2C19.001%20C6.492%2C19.003%206.492%2C19.003%206.492%2C19.003%20C10.698%2C23.669%2016.396%2C26.362%2022.535%2C26.589%20C22.955%2C26.602%2023.356%2C26.457%2023.670%2C26.168%20C24.005%2C25.861%2024.196%2C25.437%2024.211%2C24.982%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  width: 22px;
  height: 24px;
  background-size: contain;
}
#sec4 .group-tel-btn .tel .note-tel {
  display: block;
  line-height: 1.375;
  font-size: 14px;
  font-weight: 500;
}
#sec4 .group-tel-btn .btn-web {
  font-weight: 500;
  color: #fff;
  width: 386px;
  max-width: calc(100% - 10vw);
  margin: 6vw auto 0;
}
#sec4 .group-tel-btn .btn-web a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 2;
  letter-spacing: 0;
  transition: all 0.5s;
  text-decoration: none;
  background: #574f3c;
  padding: 14px 0;
  align-items: baseline;
}
#sec4 .group-tel-btn .btn-web a::before {
  content: "";
  width: 17px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217px%22%20height%3D%2218px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M16.403%2C17.487%20C16.387%2C17.487%2016.378%2C17.487%2016.378%2C17.487%20C16.378%2C17.487%201.471%2C17.487%200.517%2C17.487%20C-0.032%2C17.487%20-0.004%2C16.920%20-0.004%2C16.920%20L-0.004%2C3.390%20C-0.004%2C2.283%200.743%2C2.280%200.743%2C2.280%20L2.614%2C2.272%20L2.614%2C3.849%20C2.614%2C3.849%202.664%2C4.210%202.990%2C4.210%20C3.233%2C4.210%204.669%2C4.210%205.024%2C4.210%20C5.388%2C4.210%205.408%2C3.796%205.408%2C3.796%20L5.408%2C2.269%20L11.667%2C2.269%20L11.667%2C3.865%20C11.667%2C3.865%2011.725%2C4.203%2012.045%2C4.203%20C12.293%2C4.203%2013.686%2C4.203%2014.055%2C4.203%20C14.461%2C4.203%2014.464%2C3.865%2014.464%2C3.865%20C14.464%2C3.865%2014.464%2C2.887%2014.464%2C2.280%20C14.464%2C2.280%2015.418%2C2.262%2016.284%2C2.280%20C16.963%2C2.296%2016.899%2C3.126%2016.899%2C3.126%20C16.899%2C3.126%2016.899%2C16.557%2016.899%2C16.920%20C16.899%2C17.455%2016.506%2C17.487%2016.403%2C17.487%20ZM12.074%2C15.190%20L14.338%2C15.190%20L14.338%2C13.707%20L12.074%2C13.707%20L12.074%2C15.190%20ZM12.074%2C12.423%20L14.338%2C12.423%20L14.338%2C10.940%20L12.074%2C10.940%20L12.074%2C12.423%20ZM12.074%2C9.657%20L14.338%2C9.657%20L14.338%2C8.176%20L12.074%2C8.176%20L12.074%2C9.657%20ZM8.895%2C15.190%20L11.160%2C15.190%20L11.160%2C13.707%20L8.895%2C13.707%20L8.895%2C15.190%20ZM11.166%2C9.657%20L11.166%2C8.176%20L8.901%2C8.176%20L8.901%2C9.657%20L11.166%2C9.657%20ZM8.895%2C12.423%20L11.160%2C12.423%20L11.160%2C10.940%20L8.895%2C10.940%20L8.895%2C12.423%20ZM5.730%2C15.190%20L7.993%2C15.190%20L7.993%2C13.707%20L5.730%2C13.707%20L5.730%2C15.190%20ZM5.730%2C12.423%20L7.993%2C12.423%20L7.993%2C10.940%20L5.730%2C10.940%20L5.730%2C12.423%20ZM5.730%2C9.657%20L7.993%2C9.657%20L7.993%2C8.176%20L5.730%2C8.176%20L5.730%2C9.657%20ZM2.563%2C15.190%20L4.827%2C15.190%20L4.827%2C13.707%20L2.563%2C13.707%20L2.563%2C15.190%20ZM2.563%2C12.423%20L4.827%2C12.423%20L4.827%2C10.940%20L2.563%2C10.940%20L2.563%2C12.423%20ZM16.004%2C5.699%20L0.897%2C5.699%20L0.897%2C6.409%20L16.004%2C6.409%20L16.004%2C5.699%20ZM13.360%2C3.559%20L12.795%2C3.559%20C12.605%2C3.559%2012.451%2C3.422%2012.451%2C3.260%20L12.451%2C0.795%20C12.451%2C0.633%2012.605%2C0.498%2012.795%2C0.498%20L13.360%2C0.498%20C13.552%2C0.498%2013.709%2C0.633%2013.709%2C0.795%20L13.709%2C3.260%20C13.709%2C3.422%2013.552%2C3.559%2013.360%2C3.559%20ZM4.301%2C3.559%20L3.733%2C3.559%20C3.541%2C3.559%203.387%2C3.422%203.387%2C3.260%20L3.387%2C0.795%20C3.387%2C0.633%203.541%2C0.498%203.733%2C0.498%20L4.301%2C0.498%20C4.491%2C0.498%204.645%2C0.633%204.645%2C0.795%20L4.645%2C3.260%20C4.645%2C3.422%204.491%2C3.559%204.301%2C3.559%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  margin-right: 12px;
  position: relative;
  top: 1px;
}
#sec4 .group-tel-btn .btn-web a span {
  font-size: 21px;
}
@media screen and (min-width: 768px) {
  #sec4 .wrap {
    padding-top: 133px;
    padding-bottom: 136px;
  }
  #sec4 h2 {
    margin: 0 0 33px;
  }
  #sec4 .txt {
    text-align: inherit;
  }
  #sec4 .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 61px auto 0;
    width: 860px;
    padding: 80px 15px 0;
  }
  #sec4 .row .title {
    font-size: 25px;
    margin: 0;
  }
  #sec4 .group-tel-btn {
    margin: 80px auto 0;
    width: 604px;
    padding: 50px 0 66px;
  }
  #sec4 .group-tel-btn .tel .sub-tel {
    font-size: 19px;
  }
  #sec4 .group-tel-btn .tel span {
    font-size: 41px;
    gap: 12px;
    margin: 16px 0 17px;
  }
  #sec4 .group-tel-btn .tel span::before {
    width: 25px;
    height: 27px;
  }
  #sec4 .group-tel-btn .tel .note-tel {
    font-size: 16px;
  }
  #sec4 .group-tel-btn .btn-web {
    width: 386px;
    margin: 33px auto 0;
  }
  #sec4 .group-tel-btn .btn-web a:hover {
    background: #7b967c;
  }
}

.remodal-overlay {
  background: rgba(21, 4, 4, 0.85);
}

.remodal-wrapper {
  padding: 0;
}

.remodal-close {
  width: 31px;
  height: 31px;
  margin-right: 15px;
  margin-bottom: 50px;
  top: 20px;
}
.remodal-close::before {
  display: none;
}

.remodal {
  padding: 29px 0 100px;
  color: #000;
  width: 100%;
  max-width: 100%;
}

.remodal-close2 {
  margin: 50px auto 0;
  width: 78px;
  outline: 0;
  border: 0;
  cursor: pointer;
  background: transparent;
}

.popup-menu h2 {
  margin: 0 0 30px;
}
.popup-menu .flex {
  margin: 0 20px;
  text-align: left;
}
.popup-menu .flex .col {
  color: var(--cl-main2);
}
@media screen and (max-width: 767px) {
  .popup-menu .flex .col + .col {
    margin-top: 40px;
  }
}
.popup-menu .flex .col h4 {
  color: #000;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 0 0 15px;
}
.popup-menu .flex .col h4 ~ h4 {
  margin-top: 40px;
}
.popup-menu .flex .col dl {
  letter-spacing: 0.02em;
  display: flex;
  justify-content: space-between;
  padding: 0 0 12px;
  line-height: 1.875;
  gap: 12px;
  border-bottom: 1px solid rgba(117, 107, 83, 0.5);
}
.popup-menu .flex .col dl dt {
  text-align: left;
}
.popup-menu .flex .col dl dd {
  text-align: right;
  min-width: -moz-max-content;
  min-width: max-content;
}
.popup-menu .flex .col dl + dl {
  margin-top: 12px;
}
.popup-menu .flex .col .sub-txt2 {
  font-size: 11px;
  line-height: 1.5;
  margin: 15px 0 0;
  color: var(--cl-main2);
  letter-spacing: 0.02em;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .remodal-close {
    margin-right: 29px;
    margin-bottom: 70px;
  }
  .remodal {
    padding: 29px 0 100px;
    color: #000;
    width: 1200px;
    max-width: calc(100% - 60px);
  }
  .remodal-close2 {
    margin: 70px auto 0;
  }
  .remodal-close2:hover {
    opacity: 0.8;
  }
  .popup-menu h2 {
    margin: 0 0 40px;
  }
  .popup-menu .flex {
    max-width: calc(100% - 60px);
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .popup-menu .flex .col {
    color: var(--cl-main2);
    width: 470px;
  }
  .popup-menu .flex .col h4 {
    font-size: 22px;
  }
  .popup-menu .flex .col .sub-txt2 {
    font-size: 13px;
  }
}
@media (min-width: 768px) and (max-width: 1499px) {
  #sec1 .group-content h2 {
    height: max-content;
    margin: 20px auto 40px;
    width: max-content;
    font-size: 30px;
    line-height: 60px;
  }
}
