@charset "UTF-8";
ul,
ol,
li,
dl,
dt,
dd,
figure,
figcaption,
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
  transition: all 0.2s linear;
}
a:hover {
  text-decoration: none;
  color: #000;
  transition: all 0.2s linear;
}

img {
  width: 100%;
  height: auto;
}

html {
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  color: #000;
}
@media screen and (max-width: 767px) {
  body {
    width: 100%;
    overflow-x: hidden;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

#mv {
  left: 0;
  top: 0;
  width: 100%;
  height: min(600px, 48vw);
  position: absolute;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #mv {
    height: 144vw;
  }
}
#mv h1 {
  position: absolute;
  left: 50%;
  top: min(128px, 10.24vw);
  transform: translateX(-50%);
  width: min(612px, 48.96vw);
  z-index: 10;
}
@media screen and (max-width: 767px) {
  #mv h1 {
    top: 26.6666666667vw;
    width: 86.4vw;
  }
}
#mv ul {
  width: 100%;
  height: 100%;
}
#mv ul li {
  width: 100%;
  height: 100%;
}
#mv ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#info {
  position: relative;
  margin: min(471px, 37.68vw) auto 0;
  width: min(1000px, 80vw);
  background-color: #fff;
  padding-top: min(60px, 4.8vw);
  text-align: center;
  color: #200505;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  #info {
    margin-top: 106.4vw;
    width: 91.4666666667vw;
    padding: 7.4666666667vw 7.4666666667vw 0;
  }
}
#info h2 {
  width: min(228px, 18.24vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #info h2 {
    width: 40.5333333333vw;
  }
}
#info h2 + p {
  margin-top: min(40px, 3.2vw);
  font-size: min(1.44vw, 18px);
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  #info h2 + p {
    margin-top: 6.4vw;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  #info h2 + p br {
    display: none;
  }
}
#info ul {
  width: min(897px, 71.76vw);
  margin: min(40px, 3.2vw) auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(24px, 1.92vw);
}
@media screen and (max-width: 767px) {
  #info ul {
    margin-top: 8.5333333333vw;
    width: 75.4666666667vw;
    grid-template-columns: 1fr;
    gap: 4.8vw;
  }
}
#info ul li {
  border: min(8px, 0.64vw) solid rgba(171, 126, 117, 0.2);
  background: #fff;
  padding: min(12px, 0.96vw) min(13px, 1.04vw);
}
@media screen and (max-width: 767px) {
  #info ul li {
    border-width: 2.1333333333vw;
    padding: 3.2vw 3.7333333333vw;
  }
}
#info ul li dl dt {
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #info ul li dl dt {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}
#info ul li dl dd figure {
  margin-top: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #info ul li dl dd figure {
    margin-top: 3.2vw;
  }
}
#info ul li dl dd figure figcaption {
  margin-top: min(12px, 0.96vw);
  padding: 0 min(15.5px, 1.24vw);
}
@media screen and (max-width: 767px) {
  #info ul li dl dd figure figcaption {
    margin-top: 3.2vw;
    padding: 0 4.1333333333vw;
  }
}
#info ul li dl dd figure figcaption p {
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #info ul li dl dd figure figcaption p {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#info ul li dl dd figure figcaption span {
  margin-top: min(12px, 0.96vw);
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
  font-weight: 700;
  text-align: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #info ul li dl dd figure figcaption span {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}

#attraction {
  background-color: #f4efee;
  color: #200505;
  padding-top: min(60px, 4.8vw);
  padding-bottom: min(57px, 4.56vw);
  margin-top: min(60px, 4.8vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  #attraction {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}
#attraction .wrap {
  width: min(800px, 64vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #attraction .wrap {
    width: 89.3333333333vw;
  }
}
#attraction h3 {
  font-size: min(2.56vw, 32px);
  line-height: 1;
  font-weight: 700;
  padding-bottom: min(18px, 1.44vw);
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
#attraction h3:after {
  content: "";
  width: min(180px, 14.4vw);
  height: min(2px, 0.16vw);
  display: block;
  position: absolute;
  background: linear-gradient(270deg, rgba(132, 63, 47, 0) 0%, #843f2f 51.04%, rgba(132, 63, 47, 0) 100%);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #attraction h3 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
    padding-bottom: 2.1333333333vw;
  }
  #attraction h3:after {
    width: 16vw;
    height: 0.5333333333vw;
    background: #5E1707;
  }
}
#attraction h3 + p {
  margin-top: min(42px, 3.36vw);
  font-size: min(1.44vw, 18px);
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  #attraction h3 + p {
    width: 80.8vw;
    text-align: left;
    margin: 6.4vw auto 0;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
@media screen and (max-width: 767px) {
  #attraction h3 + p br {
    display: none;
  }
}
#attraction ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(40px, 3.2vw);
  margin-top: min(63px, 5.04vw);
}
@media screen and (max-width: 767px) {
  #attraction ul {
    grid-template-columns: 1fr;
    gap: 6.4vw;
    margin-top: 10.6666666667vw;
  }
}
#attraction ul li {
  display: flex;
  flex-direction: column;
}
#attraction ul li h4 {
  font-size: min(1.92vw, 24px);
  line-height: 1;
  padding-bottom: min(8px, 0.64vw);
  border-bottom: min(1px, 0.08vw) solid #ab7e75;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #attraction ul li h4 {
    font-size: 4.8vw;
    line-height: 1.3333333333;
    padding-bottom: 4.5333333333vw;
    border-width: 0.2666666667vw;
  }
}
#attraction ul li p {
  margin-top: min(21px, 1.68vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #attraction ul li p {
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    font-weight: 400;
  }
}
#attraction ul li ul {
  margin: min(21px, 1.68vw) 0;
  display: block;
}
@media screen and (max-width: 767px) {
  #attraction ul li ul {
    margin: 4.2666666667vw 0;
  }
}
#attraction ul li ul li {
  position: relative;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  text-align: left;
  display: flex;
  padding-left: min(28px, 2.24vw);
}
@media screen and (max-width: 767px) {
  #attraction ul li ul li {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    padding-left: 7.4666666667vw;
  }
}
#attraction ul li ul li:before {
  content: "";
  width: min(20px, 1.6vw);
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 17.334a8.115 8.115 0 0 1-3.25-.657 8.416 8.416 0 0 1-2.646-1.781 8.415 8.415 0 0 1-1.781-2.646A8.115 8.115 0 0 1 .667 9c0-1.153.218-2.236.656-3.25a8.415 8.415 0 0 1 1.781-2.646 8.415 8.415 0 0 1 2.646-1.78A8.115 8.115 0 0 1 9 .666a8.18 8.18 0 0 1 2.562.396 8.563 8.563 0 0 1 2.23 1.104l-1.209 1.229a7.167 7.167 0 0 0-1.687-.781A6.294 6.294 0 0 0 9 2.334c-1.847 0-3.42.649-4.719 1.947-1.299 1.3-1.948 2.872-1.948 4.72 0 1.846.65 3.42 1.948 4.718C5.58 15.018 7.153 15.667 9 15.667c1.847 0 3.42-.65 4.719-1.948 1.298-1.299 1.947-2.872 1.947-4.719 0-.25-.013-.5-.041-.75a6.118 6.118 0 0 0-.125-.729l1.354-1.354c.153.444.27.903.354 1.375.084.472.125.958.125 1.458a8.115 8.115 0 0 1-.656 3.25 8.415 8.415 0 0 1-1.781 2.646 8.416 8.416 0 0 1-2.646 1.781 8.114 8.114 0 0 1-3.25.657Zm-1.167-4.5L4.291 9.292l1.167-1.167L7.833 10.5l8.334-8.354 1.166 1.167-9.5 9.52Z' fill='%23200505'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  top: min(2px, 0.16vw);
  left: 0;
  position: absolute;
}
@media screen and (max-width: 767px) {
  #attraction ul li ul li:before {
    width: 5.3333333333vw;
    top: 0.5333333333vw;
  }
}
#attraction ul li ul li + li {
  margin-top: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #attraction ul li ul li + li {
    margin-top: 2.1333333333vw;
  }
}
#attraction ul li dl {
  margin-top: auto;
}
#attraction ul li dl dt {
  background-color: #ab7e75;
  color: #fff;
  font-size: min(1.28vw, 16px);
  line-height: 2.25;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #attraction ul li dl dt {
    font-size: 3.7333333333vw;
    line-height: 2.2857142857;
  }
}
#attraction ul li dl dd .movie {
  aspect-ratio: 380/240;
}
#attraction ul li dl dd .movie iframe {
  width: 100%;
  height: 100%;
}

#introduction {
  color: #200505;
  padding-top: min(60px, 4.8vw);
  padding-bottom: min(57px, 4.56vw);
  text-align: center;
  background-image: url(../img/introduction_back.jpg);
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  #introduction {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
    background-image: url(../img/introduction_back_sp.jpg);
  }
}
#introduction .wrap {
  width: min(932px, 74.56vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #introduction .wrap {
    width: 100%;
  }
}
#introduction h3 {
  font-size: min(2.56vw, 32px);
  line-height: 1;
  font-weight: 700;
  padding-bottom: min(18px, 1.44vw);
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
#introduction h3:after {
  content: "";
  width: min(180px, 14.4vw);
  height: min(2px, 0.16vw);
  display: block;
  position: absolute;
  background: linear-gradient(270deg, rgba(132, 63, 47, 0) 0%, #843f2f 51.04%, rgba(132, 63, 47, 0) 100%);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #introduction h3 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
    padding-bottom: 2.1333333333vw;
  }
  #introduction h3:after {
    width: 16vw;
    height: 0.5333333333vw;
    background: #5E1707;
  }
}
#introduction h3 + p {
  margin-top: min(42px, 3.36vw);
  font-size: min(1.44vw, 18px);
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  #introduction h3 + p {
    width: 80.8vw;
    text-align: left;
    margin: 6.4vw auto 0;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
@media screen and (max-width: 767px) {
  #introduction h3 + p br {
    display: none;
  }
}
#introduction ul {
  width: 100%;
  margin: min(60px, 4.8vw) auto 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #introduction ul {
    margin-top: 6.4vw;
    gap: 3.2vw;
    flex-direction: column;
    width: 91.4666666667vw;
  }
}
#introduction ul li.open {
  background: #fff;
  box-shadow: 0 min(2px, 0.16vw) min(4px, 0.32vw) 0 rgba(171, 126, 117, 0.6);
  width: min(300px, 24vw);
  padding: min(16px, 1.28vw) min(12px, 0.96vw);
  text-align: left;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  #introduction ul li.open {
    width: 100%;
    padding: 4.2666666667vw 3.2vw;
    box-shadow: 0 0.5333333333vw 1.0666666667vw 0 rgba(171, 126, 117, 0.6);
  }
}
#introduction ul li.open:last-of-type {
  margin: auto;
}
#introduction ul li.open h4 {
  font-size: min(1.44vw, 18px);
  line-height: 1.3333333333;
  font-weight: 700;
  color: #5E1707;
  height: calc(min(24px, 1.92vw) * 3);
}
@media screen and (max-width: 767px) {
  #introduction ul li.open h4 {
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    height: auto;
  }
}
#introduction ul li.open figure {
  margin-top: min(16px, 1.28vw);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 767px) {
  #introduction ul li.open figure {
    margin-top: 4.2666666667vw;
    justify-content: flex-start;
    gap: 2.1333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #introduction ul li.open figure:after {
    content: "";
    width: 6.4vw;
    aspect-ratio: 1/1;
    background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='a' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Cpath fill='%23D9D9D9' d='M0 0h24v24H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath d='M12.675 12 9.6 15.075 11 16.5l4.5-4.5L11 7.5 9.6 8.925 12.675 12ZM12 22a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12a9.74 9.74 0 0 1 .788-3.9 10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2a9.74 9.74 0 0 1 3.9.788 10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z' fill='%23843F2F'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0vw;
  }
}
#introduction ul li.open figure img {
  width: min(112px, 8.96vw);
}
@media screen and (max-width: 767px) {
  #introduction ul li.open figure img {
    width: 29.8666666667vw;
  }
}
#introduction ul li.open figure figcaption {
  width: min(155px, 12.4vw);
}
@media screen and (max-width: 767px) {
  #introduction ul li.open figure figcaption {
    width: 43.4666666667vw;
  }
}
#introduction ul li.open figure figcaption dl dt {
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #introduction ul li.open figure figcaption dl dt {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#introduction ul li.open figure figcaption dl dd p {
  margin-top: min(4px, 0.32vw);
  font-size: min(0.96vw, 12px);
  line-height: 1.3333333333;
}
@media screen and (max-width: 767px) {
  #introduction ul li.open figure figcaption dl dd p {
    margin-top: 1.0666666667vw;
    font-size: 3.2vw;
    line-height: 1.3333333333;
  }
}

#welfare {
  background-color: #f4efee;
  color: #200505;
  padding-top: min(60px, 4.8vw);
  padding-bottom: min(57px, 4.56vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  #welfare {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
#welfare .wrap {
  width: min(940px, 75.2vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #welfare .wrap {
    width: 91.4666666667vw;
  }
}
#welfare h3 {
  font-size: min(2.56vw, 32px);
  line-height: 1;
  font-weight: 700;
  padding-bottom: min(18px, 1.44vw);
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
#welfare h3:after {
  content: "";
  width: min(180px, 14.4vw);
  height: min(2px, 0.16vw);
  display: block;
  position: absolute;
  background: linear-gradient(270deg, rgba(132, 63, 47, 0) 0%, #843f2f 51.04%, rgba(132, 63, 47, 0) 100%);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #welfare h3 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
    padding-bottom: 2.1333333333vw;
  }
  #welfare h3:after {
    width: 16vw;
    height: 0.5333333333vw;
    background: #5E1707;
  }
}
#welfare h3 + p {
  margin-top: min(42px, 3.36vw);
  font-size: min(1.44vw, 18px);
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  #welfare h3 + p {
    width: 80.8vw;
    text-align: left;
    margin: 6.4vw auto 0;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
@media screen and (max-width: 767px) {
  #welfare h3 + p br {
    display: none;
  }
}
#welfare ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(16px, 1.28vw);
  margin-top: min(42px, 3.36vw);
  text-align: left;
}
@media screen and (max-width: 767px) {
  #welfare ul {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
    margin-top: 6.4vw;
  }
}
#welfare ul li {
  border-left: min(4px, 0.32vw) solid #5E1707;
  padding-left: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #welfare ul li {
    border-width: 1.0666666667vw;
    padding-left: 3.2vw;
  }
}
#welfare ul li dl {
  padding: min(4px, 0.32vw) 0;
}
@media screen and (max-width: 767px) {
  #welfare ul li dl {
    padding: 1.0666666667vw 0;
  }
}
#welfare ul li dl dt {
  font-size: min(1.44vw, 18px);
  line-height: 1.3333333333;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #welfare ul li dl dt {
    font-size: 4.8vw;
    line-height: 1.3333333333;
  }
}
#welfare ul li dl dd {
  margin-top: min(8px, 0.64vw);
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  #welfare ul li dl dd {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}

#occupation {
  color: #200505;
  padding-top: min(60px, 4.8vw);
  padding-bottom: min(57px, 4.56vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  #occupation {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
#occupation .wrap {
  width: min(932px, 74.56vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #occupation .wrap {
    width: 91.4666666667vw;
  }
}
#occupation h3 {
  font-size: min(2.56vw, 32px);
  line-height: 1;
  font-weight: 700;
  padding-bottom: min(18px, 1.44vw);
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
#occupation h3:after {
  content: "";
  width: min(180px, 14.4vw);
  height: min(2px, 0.16vw);
  display: block;
  position: absolute;
  background: linear-gradient(270deg, rgba(132, 63, 47, 0) 0%, #843f2f 51.04%, rgba(132, 63, 47, 0) 100%);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #occupation h3 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
    padding-bottom: 2.1333333333vw;
  }
  #occupation h3:after {
    width: 16vw;
    height: 0.5333333333vw;
    background: #5E1707;
  }
}
#occupation h3 + p {
  margin-top: min(42px, 3.36vw);
  font-size: min(1.44vw, 18px);
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  #occupation h3 + p {
    width: 80.8vw;
    text-align: left;
    margin: 6.4vw auto 0;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
@media screen and (max-width: 767px) {
  #occupation h3 + p br {
    display: none;
  }
}
#occupation h4 {
  background-color: #ab7e75;
  color: #fff;
  font-weight: 700;
  font-size: min(1.28vw, 16px);
  line-height: 2.5;
  margin-top: min(42px, 3.36vw);
}
@media screen and (max-width: 767px) {
  #occupation h4 {
    font-size: 4.2666666667vw;
    line-height: 2.5;
    margin-top: 6.4vw;
  }
}
#occupation ul {
  display: flex;
  gap: min(16px, 1.28vw);
  margin: min(20px, 1.6vw) 0 0;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  #occupation ul {
    gap: 2.1333333333vw;
    margin-top: 3.2vw;
  }
}
#occupation ul li {
  width: calc(33.3333333333% - min(32px, 2.56vw) / 3);
  border: min(4px, 0.32vw) solid rgba(171, 126, 117, 0.2);
  padding: min(8px, 0.64vw) min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #occupation ul li {
    width: 100%;
    border-width: 1.0666666667vw;
    padding: 2.1333333333vw 5.3333333333vw;
  }
}
#occupation ul li dl dt {
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
  font-weight: 700;
  color: #5E1707;
}
@media screen and (max-width: 767px) {
  #occupation ul li dl dt {
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}
#occupation ul li dl dd {
  margin-top: min(12px, 0.96vw);
  text-align: left;
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  #occupation ul li dl dd {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}
#occupation ul + h4 {
  margin-top: min(72px, 5.76vw);
}
@media screen and (max-width: 767px) {
  #occupation ul + h4 {
    margin-top: 6.4vw;
  }
}
#occupation p:not(.btn) {
  margin-top: min(60px, 4.8vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  #occupation p:not(.btn) {
    margin-top: 10.6666666667vw;
    font-size: 3.2vw;
    line-height: 1.5833333333;
  }
}
#occupation .btn {
  margin: min(28px, 2.24vw) auto 0;
  width: min(480px, 38.4vw);
}
@media screen and (max-width: 767px) {
  #occupation .btn {
    margin-top: 3.2vw;
    width: 100%;
  }
}
#occupation .btn a {
  display: block;
  font-size: min(1.92vw, 24px);
  line-height: 2.5;
  font-weight: 700;
  color: #fff;
  background: #9b1d00;
  box-shadow: 0 min(2px, 0.16vw) 0 0 rgba(29, 3, 3, 0.8);
  border-radius: min(30px, 2.4vw);
}
@media screen and (max-width: 767px) {
  #occupation .btn a {
    font-size: 4.8vw;
    line-height: 2.8888888889;
    border-radius: 13.3333333333vw;
    box-shadow: 0 0.5333333333vw 0 0 rgba(29, 3, 3, 0.8);
  }
}
#occupation .btn a:hover {
  opacity: 0.7;
}

footer {
  background-color: #f4efee;
  padding: min(24px, 1.92vw) 0 min(28px, 2.24vw);
  text-align: center;
  color: #200505;
}
@media screen and (max-width: 767px) {
  footer {
    padding: 6.4vw 0 3.2vw;
  }
}
footer img {
  width: min(152px, 12.16vw);
  aspect-ratio: 151.82/40;
}
@media screen and (max-width: 767px) {
  footer img {
    width: 40.5333333333vw;
  }
}
footer p + p {
  margin-top: min(12px, 0.96vw);
  font-size: min(0.8vw, 10px);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  footer p + p {
    margin-top: 3.2vw;
    font-size: 2.6666666667vw;
    line-height: 1.6;
  }
}

#modal {
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  width: 100vw;
  height: 100svh;
  z-index: 1000;
  top: 0;
  left: 0;
  display: none;
  cursor: pointer;
}
#modal.active {
  display: block;
}
#modal.active .modalWrap {
  display: block;
}
#modal .modalcontents {
  max-width: 706px;
  aspect-ratio: 706/530;
  width: 80%;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translateX(calc(-50% + 16px)) translateY(-50%);
}
@media screen and (max-width: 767px) {
  #modal .modalcontents {
    width: 100%;
    aspect-ratio: auto;
    height: 95%;
    max-width: 91.4666666667vw;
    transform: translateX(-50%) translateY(-50%);
  }
}
#modal button {
  width: 52px;
  aspect-ratio: 1/1;
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Cg filter='url(%23a)'%3E%3Ccircle cx='26' cy='24' r='18' fill='%23fff'/%3E%3Cmask id='b' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='10' y='8' width='31' height='31'%3E%3Cpath fill='%23D9D9D9' d='M11 9h30v30H11z'/%3E%3C/mask%3E%3Cg mask='url(%23b)'%3E%3Cpath d='M19 31.885 18.116 31l7-7-7-7 .884-.884 7 7 7-7 .885.884-7 7 7 7-.885.885-7-7-7 7Z' fill='%23200505'/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' x='0' y='0' width='52' height='52' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3E%3CfeOffset dy='2'/%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_27_2883'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_27_2883' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
  border: none;
  outline: none;
  position: absolute;
  top: 2px;
  right: 5px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  #modal button {
    width: 6.4vw;
    top: -2.1333333333vw;
    right: -2.1333333333vw;
  }
}
#modal button:hover {
  opacity: 0.7;
}
#modal .swiper-button-prev,
#modal .swiper-button-next {
  width: 48px;
  aspect-ratio: 1/1;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  #modal .swiper-button-prev,
  #modal .swiper-button-next {
    width: 12.8vw;
  }
}
#modal .swiper-button-prev:hover,
#modal .swiper-button-next:hover {
  opacity: 0.7;
}
#modal .swiper-button-prev {
  background-image: url(../img/arrow_prev.png);
  left: -33px;
}
@media screen and (max-width: 767px) {
  #modal .swiper-button-prev {
    left: -4.2666666667vw;
  }
}
#modal .swiper-button-prev:after {
  display: none;
}
#modal .swiper-button-next {
  background-image: url(../img/arrow_next.png);
  right: -6px;
}
@media screen and (max-width: 767px) {
  #modal .swiper-button-next {
    right: -4.2666666667vw;
  }
}
#modal .swiper-button-next:after {
  display: none;
}
#modal .modalWrap {
  width: calc(100% - 26px);
  height: calc(100% - 26px);
  margin-top: 26px;
  background-color: #fff;
  position: relative;
  z-index: -1;
  display: none;
  overflow-y: scroll;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  #modal .modalWrap {
    width: 100%;
    height: 100%;
    margin: 0;
  }
}
#modal .modalWrap .swiper-slide {
  padding: min(24px, 1.92vw);
  width: calc(100% - min(48px, 3.84vw));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(24px, 1.92vw);
  cursor: auto;
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide {
    padding: 6.4vw;
    width: calc(100% - 12.8vw);
    display: block;
  }
}
#modal .modalWrap .swiper-slide figure figcaption dl {
  margin-top: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide figure figcaption dl {
    margin-top: 3.2vw;
  }
}
#modal .modalWrap .swiper-slide figure figcaption dl dt {
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide figure figcaption dl dt {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#modal .modalWrap .swiper-slide figure figcaption dl dd p {
  margin-top: min(4px, 0.32vw);
  font-size: min(0.96vw, 12px);
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide figure figcaption dl dd p {
    margin-top: 1.0666666667vw;
    font-size: 3.2vw;
    line-height: 1.6666666667;
  }
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide figure figcaption dl dd p br {
    display: none;
  }
}
#modal .modalWrap .swiper-slide dl {
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide dl {
    margin-top: 6.4vw;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#modal .modalWrap .swiper-slide dl dt {
  font-weight: 700;
}
#modal .modalWrap .swiper-slide dl dd {
  margin-top: min(4px, 0.32vw);
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide dl dd {
    margin-top: 1.0666666667vw;
  }
}
#modal .modalWrap .swiper-slide dl dd + dt {
  margin-top: min(24px, 1.92vw);
}
@media screen and (max-width: 767px) {
  #modal .modalWrap .swiper-slide dl dd + dt {
    margin-top: 6.4vw;
  }
}/*# sourceMappingURL=style.css.map */