@media screen and (max-width: 767px) {
  .test {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0.7;
  }
}

/*=============================================
 * Key
 *=============================================*/
#head-key {
  position: relative;
  z-index: 1;
  height: 133.33vw;
  margin-right: 13.6%;
}

#head-key * {
  height: inherit;
  border-radius: 0 125px 0 0;
}

#head-key .container {
  overflow: hidden;
  position: relative;
  height: inherit;
}

#head-key .slide {
  animation-duration: 7s;
  animation-delay: 0s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 0;
}

#head-key .slide:nth-child(1) {
  opacity: 1;
  z-index: 1;
}

#head-key .slide-img {
  transform: scale(1.3);
}

#head-key .slide.active {
  animation-name: showImg;
  z-index: 2;
}

#head-key img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#head-key .slide.active .slide-inner {
  animation: showTranslate 7s linear forwards;
}

#head-key .slide.prev {
  animation-name: hideImg;
  z-index: 2;
}

#head-key .slide.prev .slide-inner {
  animation: hideTranslate 7s linear forwards;
}

@media screen and (min-width: 768px) {
  #head-key {
    height: 730px;
    margin-right: 69px;
  }

  #head-key * {
    border-radius: 0 400px 0 0;
  }
}

/*=============================================
 * Animation
 *=============================================*/
@keyframes showImg {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

@keyframes hideImg {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes showTranslate {
  0% {
    transform: translate3d(50px, 0, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes hideTranslate {
  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(-50px, 0, 0);
  }
}

#news {
  position: relative;
  z-index: 2;
  background: url("../img/shared/bg1.jpg") repeat center;
  padding: 8vw 7% 8vw 6%;
  margin: -10vw 0 0 6.67%;
}

#news .lead {
  display: flex;
  justify-content: space-between;
}

#news .lead h2 {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.03em;
}

#news .lead .more {
  width: 92px;
  margin-top: 6px;
}

#news .lead .more a {
  display: block;
  text-align: center;
  background: #8499b4;
  color: #fefcfa;
  font-size: 19.5px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

#news #feed {
  margin-top: 4vw;
}

#news #feed .item {
  display: flex;
  align-items: center;
}

#news #feed .item .rss-img {
  width: 38%;
  height: 22vw;
}

#news #feed .item .rss-img a {
  display: block;
  height: 100%;
}

#news #feed .item .rss-img span {
  width: 100% !important;
  height: 100% !important;
}

#news #feed .item .desc {
  text-align: left;
  flex: 1;
  margin-left: 6%;
}

#news #feed .item .desc dt {
  letter-spacing: 0.05em;
}

#news #feed .item .desc dd {
  margin-top: 9px;
  line-height: 20px;
}

@media screen and (min-width: 768px) {
  #news {
    position: absolute;
    top: -72px;
    right: 0;
    display: flex;
    gap: 18px;
    width: 530px;
    padding: 67px 30px 53px 52px;
    margin: 0;
  }

  #news .lead {
    display: block;
    margin-top: -4px;
  }

  #news .lead h2 {
    font-size: 34px;
  }

  #news .lead .more {
    width: 73px;
    margin: 17px auto 0;
  }

  #news .lead .more a {
    font-size: 13px;
    line-height: 20px;
  }

  #news .lead .more a:hover {
    background: #0b1f44;
  }

  #news #feed {
    margin-top: 0;
  }

  #news #feed .item {
    display: flex;
  }

  #news #feed .item .rss-img {
    width: 110px;
    height: 80px;
  }

  #news #feed .item .rss-img:hover {
    opacity: 0.8;
  }

  #news #feed .item .desc {
    margin-left: 17px;
    font-size: 13px;
  }

  #news #feed .item .desc dt {
    line-height: 1;
  }

  #news #feed .item .desc dd {
    margin-top: 2px;
  }

  #news #feed .item .desc dd a:hover {
    text-decoration: underline;
  }
}

#sec1 {
  padding-top: 27vw;
}

#sec1 .wrap {
  padding: 0;
}

#sec1 .photo1 {
  margin-right: 26.53%;
}

#sec1 .group-txt {
  margin: 17vw 6.67% 0;
}

#sec1 .ttl h3 span {
  display: block;
  line-height: 1;
  letter-spacing: 0.1em;
}

#sec1 .ttl h3 span:nth-child(1) {
  font-size: 2.01vw;
}

#sec1 .ttl h3 span:nth-child(2) {
  color: #0b1f44;
  font-size: 5.7vw;
}

#sec1 .ttl h2 {
  margin-top: 3vw;
  font-size: 6.4vw;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
}

#sec1 .ttl h2 span {
  margin-left: 32.5%;
}

#sec1 .txt {
  margin-top: 13vw;
}

#sec1 .txt li + li {
  margin-top: 6vw;
}

#sec1 .photo2 {
  position: relative;
  z-index: 1;
  margin: 10.5vw 64% 0 6.67%;
}

@media screen and (min-width: 768px) {
  #sec1 {
    padding-top: 0px;
  }

  #sec1 .wrap {
    padding: 0;
  }

  #sec1 .photo1 {
    margin-right: 0;
    top: 0;
    left: -106px;
    right: calc(50% + 54px);
    height: 748px;
  }

  #sec1 .group-txt {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 0 0 auto;
  }

  #sec1 .ttl {
    width: 206px;
    margin: 0 204px 0 auto;
    padding-top: 339px;
    text-align: left;
    word-break: keep-all;
  }

  #sec1 .ttl h3 span:nth-child(1) {
    font-size: 12px;
  }

  #sec1 .ttl h3 span:nth-child(2) {
    font-size: 34px;
  }

  #sec1 .ttl h2 {
    margin: -5px 30px 0 0;
    font-size: 30px;
    line-height: 65px;
  }

  #sec1 .ttl h2 span {
    margin: 165px 0 0;
  }

  #sec1 .txt {
    margin: 118px 29px 0 0;
  }

  #sec1 .txt li + li {
    margin-top: 38px;
  }

  #sec1 .photo2 {
    position: absolute;
    top: 466px;
    right: -172px;
    margin: 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  #sec1 .photo2 {
    right: calc(-50vw + 50% + 30px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #sec1 .txt {
    margin-right: -30px;
  }
}

#sec2 .wrap {
  padding: 0;
}

#sec2 .photo1 {
  margin: -30.2vw 0 0 26.8%;
}

#sec2 .deco-txt {
  position: relative;
  z-index: 1;
}

#sec2 .photo2 {
  margin: -7.07vw 24.27% 0 0;
}

@media screen and (min-width: 768px) {
  #sec2 .wrap {
    max-width: 1500px;
    padding: 0;
  }

  #sec2 .photo1 {
    position: absolute;
    top: -231px;
    left: 0;
    margin: 0;
  }

  #sec2 .deco-txt {
    text-align: right;
    padding: 64px 194px 0 0;
  }

  #sec2 .photo2 {
    text-align: right;
    margin: -125px 0 0;
  }
}

#sec3 {
  position: relative;
  padding-bottom: 17.5vw;
}

#sec3 .bg {
  position: absolute;
  top: -14.5vw;
  left: 0;
  right: 0;
  z-index: -1;
}

#sec3 h2 {
  color: #fffefd;
  padding-top: 14vw;
  margin: 0 auto;
  font-size: 5.2vw;
  line-height: 2.3333333333;
  letter-spacing: 0.15em;
}

#sec3 .txt {
  margin-top: 29vw;
}

#sec3 .txt li + li {
  margin-top: 6vw;
}

#sec3 .photo1 {
  margin: 8.3vw 0 0 12.5%;
}

#sec3 .photo2 {
  margin: 7vw 40.4% 0 -8%;
}

#sec3 .btn-shared {
  margin: 13.5vw 4% 0;
}

@media screen and (min-width: 768px) {
  #sec3 {
    padding: 0 0 277px;
  }

  #sec3 .bg {
    top: -94px;
    right: 83px;
    left: calc(-50vw + 50%);
    height: 1212px;
  }

  #sec3 .bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  #sec3 h2 {
    padding: 161px 0 0 92px;
    margin: 0;
    font-size: 30px;
    line-height: 70px;
  }

  #sec3 .txt {
    width: -moz-fit-content;
    width: fit-content;
    margin: 350px -11px 0 auto;
  }

  #sec3 .txt li + li {
    margin-top: 31px;
  }

  #sec3 .photo1 {
    margin: 0;
    top: 207px;
    left: 389px;
    right: -99px;
    height: 490px;
  }

  #sec3 .photo2 {
    margin: 0;
    bottom: -125px;
    left: -250px;
    right: 681px;
    height: 435px;
  }

  #sec3 .btn-shared {
    margin: 61px 269px 0 auto;
  }
}

#sec4 {
  padding-bottom: 33.5vw;
}

#sec4 .set1 {
  position: relative;
}

#sec4 .set1 h2 {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 1;
  transform: translateY(-50%);
}

#sec4 .set1 h2 span {
  display: block;
  color: #fffefd;
  text-align: center;
  line-height: 1;
}

#sec4 .set1 h2 span:nth-child(1) {
  font-size: 7.28vw;
  letter-spacing: 0.1em;
}

#sec4 .set1 h2 span:nth-child(2) {
  position: relative;
  padding: 0.6vw 0 12vw;
  font-size: 2.08vw;
  letter-spacing: 0.12em;
}

#sec4 .set1 h2 span:nth-child(2)::before,
#sec4 .set1 h2 span:nth-child(2):after {
  content: "";
  position: absolute;
  bottom: 0;
  background: rgba(255, 254, 253, 0.85);
  height: 6vw;
  width: 1px;
}

#sec4 .set1 h2 span:nth-child(2)::before {
  left: 49%;
}

#sec4 .set1 h2 span:nth-child(2)::after {
  left: 51%;
}

#sec4 .set1 h2 span:nth-child(3) {
  position: relative;
  width: 37.47%;
  margin: 4vw auto 0;
  font-size: 5.55vw;
  line-height: 1.7548076923;
  letter-spacing: 0.12em;
}

#sec4 .set1 h2 span:nth-child(3)::before,
#sec4 .set1 h2 span:nth-child(3):after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border: 1px solid rgba(255, 254, 253, 0.85);
  width: 3.56%;
}

#sec4 .set1 h2 span:nth-child(3)::before {
  border-right: none;
  left: 0;
}

#sec4 .set1 h2 span:nth-child(3)::after {
  border-left: none;
  right: 0;
}

#sec4 .set1 .sl-fade {
  position: relative;
}

#sec4 .set1 .sl-fade .slick-dots {
  position: absolute;
  bottom: 4.5vw;
  right: 3%;
  z-index: 2;
}

#sec4 .set2 {
  position: relative;
  z-index: 1;
}

#sec4 .set2::before {
  content: "";
  position: absolute;
  top: 16.5vw;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  background: url("../img/shared/bg1.jpg") repeat center;
  opacity: 0.6;
  width: 51.07%;
  height: 176.13vw;
}

#sec4 .set2 .photo {
  position: relative;
  z-index: 1;
  margin: -16.5vw 11% 0 8%;
}

#sec4 .set2 h2 {
  margin: -3vw 0 0 10%;
  font-size: 5.19vw;
  line-height: 2.1666666667;
  letter-spacing: 0.15em;
}

#sec4 .set2 h2 span {
  margin-left: 32.5%;
}

#sec4 .set2 .txt {
  margin-top: 6.5vw;
}

#sec4 .set2 .banner {
  margin-top: 23vw;
}

#sec4 .set2 .banner a {
  position: relative;
  display: block;
  background: url("../img/index/sec4_img2_sp.jpg") no-repeat center bottom/cover;
  color: #fffefd;
  min-height: 109vw;
  padding: 12.5vw 10%;
}

#sec4 .set2 .banner a::before {
  content: "";
  position: absolute;
  inset: -8vw 10%;
  z-index: -1;
  border: 1px solid #8499b4;
}

#sec4 .set2 .banner a h3 {
  position: relative;
  text-align: center;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.05em;
}

#sec4 .set2 .banner a h3::before {
  content: "";
  position: absolute;
  background: url("../img/index/sec4_arrow_sp.png") no-repeat center/contain;
  width: 14.8vw;
  height: auto;
  aspect-ratio: 111/44;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

#sec4 .set2 .banner a .txt {
  margin-top: 9vw;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  #sec4 {
    padding-bottom: 164px;
  }

  #sec4 .set1 .sl-fade {
    height: 600px;
  }

  #sec4 .set1 .sl-fade .item {
    height: 600px;
  }

  #sec4 .set1 h2 {
    left: auto;
    right: 208px;
  }

  #sec4 .set1 h2 span:nth-child(1) {
    font-size: 42px;
  }

  #sec4 .set1 h2 span:nth-child(2) {
    padding: 4px 0 69px;
    font-size: 12px;
  }

  #sec4 .set1 h2 span:nth-child(2)::before,
  #sec4 .set1 h2 span:nth-child(2):after {
    height: 35px;
  }

  #sec4 .set1 h2 span:nth-child(2)::before {
    left: calc(50% - 2px);
  }

  #sec4 .set1 h2 span:nth-child(2)::after {
    left: calc(50% + 2px);
  }

  #sec4 .set1 h2 span:nth-child(3) {
    width: 216px;
    margin-top: 22px;
    font-size: 32px;
    line-height: 56px;
  }

  #sec4 .set1 h2 span:nth-child(3)::before,
  #sec4 .set1 h2 span:nth-child(3):after {
    width: 8px;
  }

  #sec4 .set1 .sl-fade .slick-dots {
    bottom: 24px;
    right: 41px;
  }

  #sec4 .set2::before {
    top: 0;
    left: 50%;
    width: 383px;
    height: 985px;
  }

  #sec4 .set2 .photo {
    position: absolute;
    top: -181px;
    left: 0;
    right: 0;
    text-align: center;
    margin: 0;
  }

  #sec4 .set2 h2 {
    position: relative;
    z-index: 1;
    margin: 0;
    padding-top: 163px;
    font-size: 30px;
    line-height: 77px;
  }

  #sec4 .set2 h2 span {
    margin-left: 103px;
  }

  #sec4 .set2 .txt {
    position: relative;
    z-index: 1;
    width: -moz-fit-content;
    width: fit-content;
    margin: 83px 0 0 auto;
  }

  #sec4 .set2 .banner {
    max-width: 840px;
    margin: 115px auto 0;
  }

  #sec4 .set2 .banner a {
    background-image: url("../img/index/sec4_img2.jpg");
    min-height: auto;
    padding: 60px 60px 50px 0;
  }

  #sec4 .set2 .banner a::before {
    inset: -18px 56px;
    transition: 0.3s;
  }

  #sec4 .set2 .banner a .group-txt {
    width: 316px;
    margin-left: auto;
  }

  #sec4 .set2 .banner a h3 {
    text-align: left;
    font-size: 42px;
    letter-spacing: 0.03em;
  }

  #sec4 .set2 .banner a h3::before {
    background-image: url("../img/index/sec4_arrow.png");
    width: 147px;
    height: 27px;
    aspect-ratio: 147px/27px;
  }

  #sec4 .set2 .banner a .txt {
    margin-top: 32px;
  }

  #sec4 .set2 .banner:hover a {
    background-image: url("../img/index/sec4_img2_on.jpg");
  }

  #sec4 .set2 .banner:hover a::before {
    inset: -10px;
    border: 4px solid #8499b4;
  }
}

#sec5 .wrap {
  padding: 0 3.33%;
}

#sec5 .row .photo img {
  border-radius: 0 100px 0 0;
}

#sec5 .row .group-txt {
  padding: 8vw 3.5% 15.5vw;
}

#sec5 .row .group-txt h2 {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 9.33vw;
  line-height: 1;
  letter-spacing: 0.03em;
}

#sec5 .row .group-txt h2::before {
  content: "";
  position: absolute;
  bottom: 1.6vw;
  left: 0;
  right: 0;
  height: 1px;
}

#sec5 .row .group-txt h2 span {
  letter-spacing: 0.03em;
}

#sec5 .row .group-txt .txt {
  margin-top: 7.5vw;
}

#sec5 .row .group-txt .btn-shared {
  margin: 12vw 4% 0;
}

#sec5 .row1 .group-txt {
  background: url("../img/shared/bg2.jpg") repeat center;
  color: #fefcfa;
}

#sec5 .row1 .group-txt h2 {
  color: #fefcfa;
}

#sec5 .row1 .group-txt h2::before {
  background: #fefcfa;
}

#sec5 .row2 {
  margin-top: 18vw;
}

#sec5 .row2 .group-txt {
  background: url("../img/shared/bg1.jpg") repeat center;
}

#sec5 .row2 .group-txt h2 {
  color: #1b2871;
}

#sec5 .row2 .group-txt h2::before {
  background: #1b2871;
}

@media screen and (min-width: 768px) {
  #sec5 .wrap {
    max-width: 1200px;
    padding: 0;
  }

  #sec5 .row {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-right: 104px;
  }

  #sec5 .row .photo {
    flex: 1;
    max-width: 679px;
    height: 410px;
  }

  #sec5 .row .photo img {
    border-radius: 0 200px 0 0;
  }

  #sec5 .row .group-txt {
    background: #fffefd !important;
    color: #1e1311 !important;
    width: 417px;
    padding: 0 0 0 17px;
  }

  #sec5 .row .group-txt h2 {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -57px;
    text-align: left;
    width: 56px;
    padding-left: 4px;
    font-size: 52px;
  }

  #sec5 .row .group-txt h2::before {
    left: 13px;
    top: 0;
    bottom: 0;
    right: auto;
    width: 1px;
    height: auto;
  }

  #sec5 .row .group-txt .txt {
    width: 300px;
    margin: 0 auto;
  }

  #sec5 .row .group-txt .btn-shared {
    margin: 40px auto 0;
  }

  #sec5 .row1 .group-txt h2 {
    color: #fefcfa;
  }

  #sec5 .row1 .group-txt h2::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(-50vw + 50%);
    z-index: -1;
    background: url("../img/shared/bg2.jpg") repeat center;
  }

  #sec5 .row1 .group-txt h2::before {
    background: #fefcfa;
  }

  #sec5 .row2 {
    margin-top: 100px;
  }

  #sec5 .row2 .group-txt h2 {
    color: #1b2871;
  }

  #sec5 .row2 .group-txt h2::before {
    background: #1b2871;
  }

  #sec5 .row2 .group-txt h2::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(-50vw + 50%);
    z-index: -1;
    background: url("../img/shared/bg1.jpg") repeat;
  }
}

#sec6 .deco-txt {
  position: relative;
  z-index: 2;
}

#sec6 .group {
  position: relative;
  margin-top: -6vw;
}

#sec6 .group h2 {
  position: absolute;
  top: 43.5%;
  left: 0;
  right: 0;
  z-index: 1;
  color: #fefcfa;
  text-align: center;
  font-size: 5.87vw;
  line-height: 1;
  letter-spacing: 0.05em;
}

#sec6 .logo dt {
  width: 48.5%;
  margin: 13vw auto 0;
}

#sec6 .logo dd {
  margin-top: 4vw;
  text-align: center;
  line-height: 1.6071428571;
}

#sec6 .row1 {
  margin-top: 7.5vw;
}

#sec6 .row2 {
  margin-top: 10.5vw;
}

#sec6 .row2 .col dl {
  text-align: left;
  display: flex;
  line-height: 1.6071428571;
}

#sec6 .row2 .col dl * {
  letter-spacing: 0.1em;
}

#sec6 .row2 .col dl dt {
  width: 28%;
}

#sec6 .row2 .col dl dd {
  flex: 1;
}

#sec6 .row2 .col dl + dl {
  margin-top: 6vw;
}

#sec6 .row2 .col .photo {
  position: relative;
  z-index: 1;
  margin: 7.5vw 6% 0;
}

#sec6 .row2 .col .photo::before {
  content: "";
  position: absolute;
  inset: 6vw -16% -7.5vw 33%;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center;
}

#sec6 .row2 .col + .col {
  margin-top: 6vw;
}

#sec6 .btn-faq {
  padding: 24vw 1% 0;
}

@media screen and (max-width: 767px) {
  #sec6 .btn-map {
    font-family: "Cormorant";
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    background: #8499b4;
    color: #fefcfa;
    width: 91%;
    height: 40px;
    margin-top: 6px;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.05em;
  }

  #sec6 .btn-map::before {
    content: "";
    background: url("../img/shared/icon_map_w.png") no-repeat center/contain;
    width: 11.5px;
    height: auto;
    aspect-ratio: 23/33;
  }
}

@media screen and (min-width: 768px) {
  #sec6 .group {
    margin-top: -40px;
  }

  #sec6 .group h2 {
    top: calc(50% - 9px);
    font-size: 32px;
    letter-spacing: 0.03em;
  }

  #sec6 .group .bg {
    height: 450px;
  }

  #sec6 .logo dt {
    width: 237px;
    margin-top: 102px;
  }

  #sec6 .logo dd {
    margin-top: 17px;
    line-height: 25px;
  }

  #sec6 .row1 {
    margin-top: 53px;
  }

  #sec6 .row2 {
    display: flex;
    justify-content: space-between;
    margin-top: 66px;
  }

  #sec6 .row2 .col {
    width: 50%;
    padding-left: 40px;
  }

  #sec6 .row2 .col dl {
    line-height: 25px;
  }

  #sec6 .row2 .col dl dt {
    width: 93px;
  }

  #sec6 .row2 .col dl dd {
    margin-right: -3px;
  }

  #sec6 .row2 .col dl dd .btn-map {
    position: relative;
    top: -3px;
    display: inline-block;
    text-decoration: underline;
    text-underline-offset: 4px;
    margin-left: 20px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }

  #sec6 .row2 .col dl dd .btn-map::before {
    content: "";
    position: relative;
    top: 4px;
    display: inline-block;
    margin-right: 4px;
    background: url("../img/shared/icon_map_b.png") no-repeat center/contain;
    width: 10px;
    height: auto;
    aspect-ratio: 23/33;
  }

  #sec6 .row2 .col dl dd .btn-map:hover {
    text-decoration: none;
  }

  #sec6 .row2 .col dl + dl {
    margin-top: 25px;
  }

  #sec6 .row2 .col .photo {
    margin: 55px 0 0 5px;
  }

  #sec6 .row2 .col .photo::before {
    top: auto;
    bottom: -39px;
    left: auto;
    right: -99px;
    width: 442px;
    height: 200px;
  }

  #sec6 .row2 .col + .col {
    margin-top: 0px;
  }

  #sec6 .row2 .col + .col dl dt {
    width: 105px;
  }

  #sec6 .btn-faq {
    padding: 139px 0 0;
    margin: 0 auto;
  }
}

#gmap {
  padding: 24.5vw 0 20.5vw;
}

#gmap .lead h2 {
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.05em;
}

#gmap .map {
  position: relative;
  height: 93.33vw;
  margin-top: 3.5vw;
}

#gmap .map::before {
  content: "";
  position: absolute;
  bottom: -11.5vw;
  left: -8%;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center;
  width: 38vw;
  height: 38vw;
}

#gmap .map iframe {
  filter: grayscale(100%);
}

#gmap .row {
  margin-top: 20vw;
}

#gmap .row .col-l dl dt {
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.1em;
}

#gmap .row .col-l dl dd {
  margin: 2vw 7% 0;
}

#gmap .row .col-l dl + dl {
  margin-top: 9vw;
}

#gmap .row .col-r {
  position: relative;
  margin-top: 10vw;
}

#gmap .row .col-r .txt {
  position: absolute;
  bottom: 4vw;
  left: 0;
  right: 0;
  z-index: 1;
  text-align: center;
  color: #fffefd;
  font-size: 13px;
  line-height: 22.5px;
  letter-spacing: 0.1em;
}

#gmap .btn-map {
  margin: 11.5vw 4% 0;
}

#gmap .btn-map a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6.5px;
  background: #8499b4;
  color: #fefcfa;
  height: 55px;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
}

#gmap .btn-map a::before {
  content: "";
  background: url("../img/shared/icon_map_w.png") no-repeat center/contain;
  width: 11.5px;
  height: auto;
  aspect-ratio: 23/33;
}

@media screen and (min-width: 768px) {
  #gmap {
    padding: 200px 0 139px;
  }

  #gmap .lead {
    display: flex;
    justify-content: space-between;
  }

  #gmap .lead h2 {
    font-size: 32px;
    letter-spacing: 0.03em;
  }

  #gmap .lead .group-link {
    display: flex !important;
    align-items: center;
    gap: 25px;
    margin: 7px 76px 0 0;
  }

  #gmap .lead .group-link li:nth-child(1) a {
    display: block;
    text-decoration: underline;
    text-underline-offset: 4px;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.1em;
  }

  #gmap .lead .group-link li:nth-child(1) a:hover {
    text-decoration: none;
  }

  #gmap .lead .group-link li:nth-child(2) a {
    display: flex;
    align-items: center;
    gap: 2px;
    color: rgba(30, 19, 17, 0.6);
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.1em;
  }

  #gmap .lead .group-link li:nth-child(2) a:after {
    content: "";
    background: url("../img/shared/icon_link.png") no-repeat center/contain;
    width: 14px;
    height: auto;
    aspect-ratio: 14/9;
  }

  #gmap .lead .group-link li:nth-child(2) a:hover {
    text-underline-offset: 4px;
    text-decoration: underline;
  }

  #gmap .map {
    height: 486px;
    margin-top: 20px;
  }

  #gmap .map::before {
    width: 200px;
    height: 200px;
    bottom: -95px;
    left: -99px;
  }

  #gmap .row {
    display: flex;
    justify-content: space-between;
    margin: 87px 75px 0 150px;
  }

  #gmap .row .col-l {
    width: 330px;
    margin-top: 20px;
  }

  #gmap .row .col-l dl {
    line-height: 25px;
  }

  #gmap .row .col-l dl dt {
    text-align: left;
    font-size: 20px;
  }

  #gmap .row .col-l dl dd {
    margin: 13px 0 0;
  }

  #gmap .row .col-l dl + dl {
    margin-top: 48px;
  }

  #gmap .row .col-r {
    margin-top: 0;
  }

  #gmap .row .col-r .txt {
    bottom: 24px;
    left: 30px;
    text-align: left;
    font-size: 15px;
    line-height: 25px;
  }
}

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