@charset "UTF-8";
:root {
  --color-main01: #007995;
  --font-go: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font-en: "EB Garamond", serif;
  --font-en02: "Lora", serif;
}

:root {
  --vw-size11: clamp(10px, calc(((11 + 2) / 1360) * 100vw), 11px);
  --vw-size12: clamp(10px, calc(((12 + 2) / 1360) * 100vw), 12px);
  --vw-size14: clamp(12px, calc(((14 + 2) / 1360) * 100vw), 14px);
  --vw-size16: clamp(13px, calc(((16 + 2) / 1360) * 100vw), 16px);
  --vw-size18: clamp(14px, calc(((18 + 2) / 1360) * 100vw), 18px);
  --vw-size20: clamp(15px, calc(((20 + 2) / 1360) * 100vw), 20px);
  --vw-size22: clamp(16px, calc(((22 + 2) / 1360) * 100vw), 22px);
  --vw-size24: clamp(18px, calc(((24 + 2) / 1360) * 100vw), 24px);
  --vw-size26: clamp(18px, calc(((26 + 2) / 1360) * 100vw), 26px);
  --vw-size28: clamp(19px, calc(((28 + 2) / 1360) * 100vw), 28px);
  --vw-size30: clamp(20px, calc(((30 + 2) / 1360) * 100vw), 30px);
  --vw-size32: clamp(20px, calc(((32 + 2) / 1360) * 100vw), 32px);
  --vw-size40: clamp(22px, calc(((40 + 2) / 1360) * 100vw), 40px);
  --vw-size45: clamp(24px, calc(((45 + 2) / 1360) * 100vw), 45px);
  --vw-size48: clamp(26px, calc(((48 + 2) / 1360) * 100vw), 48px);
  --vw-size52: clamp(28px, calc(((52 + 2) / 1360) * 100vw), 52px);
  --vw-size56: clamp(30px, calc(((56 + 2) / 1360) * 100vw), 56px);
  --vw-size80: clamp(40px, calc(((80 + 2) / 1360) * 100vw), 80px);
  --vw-size100: clamp(50px, calc(((100 + 2) / 1360) * 100vw), 100px);
  --vw-size120: clamp(60px, calc(((120 + 2) / 1360) * 100vw), 120px);
}

.overviewArea {
  padding: clamp(100px, 10.4166666667vw, 200px) 0;
  overflow: hidden;
}
.overviewArea .inner {
  width: calc(100% - 240px);
  margin: 0 auto;
}
@media (max-width: 991px) {
  .overviewArea .inner {
    width: calc(100% - 40px);
  }
}
.overviewArea .imgMap {
  width: 100%;
  max-width: 1398px;
  margin: clamp(40px, 4.1666666667vw, 80px) auto clamp(80px, 8.8541666667vw, 170px);
}
@media (max-width: 767px) {
  .overviewArea .imgMap .spImgScroll .imgInner img {
    width: 800px;
  }
}
.overviewArea .photoContainer {
  position: relative;
  aspect-ratio: 1680/1724;
}
@media (max-width: 767px) {
  .overviewArea .photoContainer {
    aspect-ratio: 690/1500;
  }
}
.overviewArea .photoContainer .photo {
  position: absolute;
  border: 13px solid #fff;
  -webkit-box-shadow: 0 0 clamp(80px, 8.8541666667vw, 170px) rgba(0, 121, 149, 0.15);
          box-shadow: 0 0 clamp(80px, 8.8541666667vw, 170px) rgba(0, 121, 149, 0.15);
}
@media (max-width: 991px) {
  .overviewArea .photoContainer .photo {
    border-width: 8px;
  }
}
@media (max-width: 767px) {
  .overviewArea .photoContainer .photo {
    border-width: 5px;
    -webkit-box-shadow: 0 0 40px rgba(0, 121, 149, 0.15);
            box-shadow: 0 0 40px rgba(0, 121, 149, 0.15);
  }
}
.overviewArea .photoContainer .photo.photo1 {
  top: 0;
  right: 7.6%;
  width: 30.0595238095%;
  z-index: 2;
}
@media (max-width: 767px) {
  .overviewArea .photoContainer .photo.photo1 {
    right: 0;
    width: 50.7246376812%;
  }
}
.overviewArea .photoContainer .photo.photo2 {
  top: 21.8%;
  left: 7.6%;
  width: 46.8452380952%;
  z-index: 2;
}
@media (max-width: 767px) {
  .overviewArea .photoContainer .photo.photo2 {
    top: 32%;
    width: 57.9710144928%;
  }
}
.overviewArea .photoContainer .photo.photo3 {
  top: 48.8%;
  left: 0;
  width: 17.4404761905%;
  z-index: 3;
}
@media (max-width: 767px) {
  .overviewArea .photoContainer .photo.photo3 {
    top: 45%;
    width: 28.9855072464%;
  }
}
.overviewArea .photoContainer .photo.photo4 {
  top: 62%;
  left: 28.69%;
  width: 42.619047619%;
  z-index: 3;
}
@media (max-width: 767px) {
  .overviewArea .photoContainer .photo.photo4 {
    top: 60%;
    left: 10%;
    width: 72.4637681159%;
  }
}
.overviewArea .photoContainer .photo.photo5 {
  bottom: 0;
  right: 0;
  width: 25.8333333333%;
  z-index: 3;
}
@media (max-width: 767px) {
  .overviewArea .photoContainer .photo.photo5 {
    width: 43.4782608696%;
  }
}

h3 {
  color: var(--color-main01);
  font-weight: normal;
  line-height: 1;
  font-family: var(--font-en);
  font-size: var(--vw-size24);
  margin-bottom: clamp(40px, 4.1666666667vw, 80px);
}

.c-cc {
  font-size: var(--vw-size30);
  margin-bottom: clamp(32px, 3.3333333333vw, 64px);
}
@media (max-width: 767px) {
  .c-cc {
    font-size: var(--vw-size24);
  }
}

h3.line {
  border-top: solid 1px var(--color-main01);
  padding-top: 10px;
}

h4.line {
  font-size: var(--vw-size20);
  color: var(--color-main01);
  font-weight: normal;
  border-bottom: solid 1px var(--color-main01);
  margin-bottom: 16px;
}

.contentsInner {
  padding: 0 120px 0 clamp(300px, 20.8333333333vw, 400px);
}
@media (max-width: 991px) {
  .contentsInner {
    padding: 0 20px;
  }
}
.contentsInner.slideIn {
  padding-right: 0;
}
.contentsInner.slideIn .slideWrapper {
  padding-right: 120px;
  overflow: hidden;
  position: relative;
}
.contentsInner.slideIn .slideWrapper::before {
  content: "";
  width: 120px;
  height: 100%;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, right top, from(rgba(245, 248, 248, 0)), to(rgb(245, 248, 248)));
  background: -webkit-linear-gradient(left, rgba(245, 248, 248, 0), rgb(245, 248, 248));
  background: linear-gradient(to right, rgba(245, 248, 248, 0), rgb(245, 248, 248));
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
@media (max-width: 991px) {
  .contentsInner.slideIn .slideWrapper::before {
    display: none;
  }
}
@media (max-width: 991px) {
  .contentsInner.slideIn .slideWrapper {
    padding-right: 20px;
  }
}

.conBox01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(40px, 4.4791666667vw, 86px);
     -moz-column-gap: clamp(40px, 4.4791666667vw, 86px);
          column-gap: clamp(40px, 4.4791666667vw, 86px);
}
@media (max-width: 767px) {
  .conBox01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.conBox01 > .imgWrap {
  width: 49.3630573248%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 767px) {
  .conBox01 > .imgWrap {
    width: 100%;
  }
}
@media (min-width: 1441px) {
  .conBox01 > .imgWrap figure {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.conBox01 > .imgWrap figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1440px) {
  .conBox01 > .imgWrap figure img {
    height: auto;
  }
}
.conBox01 > .txtWrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.conBox02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(40px, 4.4791666667vw, 86px);
     -moz-column-gap: clamp(40px, 4.4791666667vw, 86px);
          column-gap: clamp(40px, 4.4791666667vw, 86px);
}
@media (max-width: 767px) {
  .conBox02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.conBox02 .imgWrap {
  width: 54.9363057325%;
  min-width: 0;
}
@media (max-width: 767px) {
  .conBox02 .imgWrap {
    width: 100%;
  }
}
.conBox02 .txtWrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.conBox02 .imgWrap02 {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.conBox04 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: clamp(28px, 2.9166666667vw, 56px) clamp(16px, 1.6666666667vw, 32px);
}
@media (max-width: 767px) {
  .conBox04 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.conBox04 .imgWrap {
  width: calc((100% - clamp(16px, 1.6666666667vw, 32px)) / 2);
}
@media (max-width: 767px) {
  .conBox04 .imgWrap {
    width: 100%;
  }
}

.capTxt {
  font-size: var(--vw-size20);
  margin-top: 16px;
  line-height: 1.65em;
}

.capTxtS {
  font-size: var(--vw-size16);
  margin-top: 16px;
  line-height: 1.65em;
}

.cc01 {
  font-size: var(--vw-size26);
  margin-bottom: 20px;
  line-height: 1.65em;
}

.locationContentsArea {
  position: relative;
}
.locationContentsArea .sidebarLayer {
  position: absolute;
  padding: clamp(40px, 4.1666666667vw, 80px) 0 0 120px;
  top: 0;
  bottom: 0;
  left: 0;
  width: 260px;
  z-index: 10;
  pointer-events: none;
}
@media (max-width: 991px) {
  .locationContentsArea .sidebarLayer {
    display: none;
  }
}
.locationContentsArea .sidebarLayer .locationNav {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  padding-bottom: 10px;
  pointer-events: auto;
}
.locationContentsArea .sidebarLayer .locationNav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
}
.locationContentsArea .sidebarLayer .locationNav ul li a {
  font-size: 14px;
  font-family: var(--font-en);
  line-height: 1;
  -webkit-transition: color 0.4s ease 0s;
  transition: color 0.4s ease 0s;
}
.locationContentsArea .sidebarLayer .locationNav ul li a.current {
  color: var(--color-main01);
  border-bottom: solid 1px var(--color-main01);
}
@media (min-width: 992px) {
  .locationContentsArea .sidebarLayer .locationNav ul li a:hover {
    color: var(--color-main01);
    border-bottom: solid 1px var(--color-main01);
  }
}
.locationContentsArea .c-text {
  line-height: 1.65em;
}
.locationContentsArea .shopList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 8px;
}
.locationContentsArea .shopList.col02 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 20px;
}
.locationContentsArea .shopList.col02 li {
  width: calc((100% - 20px) / 2);
}
@media (max-width: 767px) {
  .locationContentsArea .shopList.col02 li {
    width: 100%;
  }
}
.locationContentsArea .shopList li {
  position: relative;
  font-size: var(--vw-size12);
  line-height: 1.65em;
  padding-left: 15px;
}
.locationContentsArea .shopList li::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--color-main01);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.locationContentsArea .shoppingContentsArea {
  background: #F5F8F8;
  padding: clamp(60px, 6.25vw, 120px) 0;
}
.locationContentsArea .shoppingContentsArea .conInBox01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(12px, 1.25vw, 24px);
     -moz-column-gap: clamp(12px, 1.25vw, 24px);
          column-gap: clamp(12px, 1.25vw, 24px);
  margin-top: auto;
  padding-top: clamp(24px, 2.9166666667vw, 56px);
}
@media (max-width: 1440px) {
  .locationContentsArea .shoppingContentsArea .conInBox01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.locationContentsArea .shoppingContentsArea .conInBox01 .imgWrap {
  width: 54.6448087432%;
}
@media (max-width: 1440px) {
  .locationContentsArea .shoppingContentsArea .conInBox01 .imgWrap {
    width: 100%;
  }
}
.locationContentsArea .shoppingContentsArea .conInBox01 .txtWrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.locationContentsArea .shoppingContentsArea .splide#image-slider {
  margin-top: clamp(40px, 3.125vw, 60px);
}
.locationContentsArea .shoppingContentsArea .splide#image-slider .splide__track {
  overflow: visible !important;
}
.locationContentsArea .shoppingContentsArea .my-slider-progress {
  background: #e0e0e0;
  height: 2px;
  width: 100%;
  margin-top: 30px;
}
.locationContentsArea .shoppingContentsArea .my-slider-progress-bar {
  background: #333;
  height: 100%;
  width: 0;
}
.locationContentsArea .cultureContentsArea {
  background: #fff;
  padding: clamp(60px, 6.25vw, 120px) 0;
}
.locationContentsArea .cultureContentsArea .cultureSplide img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
.locationContentsArea .cultureContentsArea .cultureSplide .splide__pagination {
  position: relative;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
  bottom: 0;
  margin-top: 10px;
}
.locationContentsArea .cultureContentsArea .cultureSplide .splide__pagination .splide__pagination__page {
  background: rgba(23, 29, 31, 0.3);
  opacity: 1;
}
.locationContentsArea .cultureContentsArea .cultureSplide .splide__pagination .splide__pagination__page.is-active {
  background: rgb(23, 29, 31);
  -webkit-transform: scale(1);
          transform: scale(1);
}
.locationContentsArea .cultureContentsArea .conBox03 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(16px, 1.6666666667vw, 32px);
     -moz-column-gap: clamp(16px, 1.6666666667vw, 32px);
          column-gap: clamp(16px, 1.6666666667vw, 32px);
}
@media (max-width: 767px) {
  .locationContentsArea .cultureContentsArea .conBox03 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.locationContentsArea .cultureContentsArea .conBox03 .imgWrap {
  width: 54.9363057325%;
  min-width: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 767px) {
  .locationContentsArea .cultureContentsArea .conBox03 .imgWrap {
    width: 100%;
  }
}
.locationContentsArea .cultureContentsArea .conBox03 .imgWrap02 {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.locationContentsArea .cultureContentsArea .conBox03 .imgList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(12px, 1.25vw, 24px);
     -moz-column-gap: clamp(12px, 1.25vw, 24px);
          column-gap: clamp(12px, 1.25vw, 24px);
  margin-top: auto;
}
.locationContentsArea .cultureContentsArea .conBox03 .imgList li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.locationContentsArea .medicalContentsArea {
  background: #F5F8F8;
  padding: clamp(60px, 6.25vw, 120px) 0;
}
@media (max-width: 1656px) {
  .locationContentsArea .medicalContentsArea .cc01 .vbr {
    display: none;
  }
}
@media (max-width: 767px) {
  .locationContentsArea .medicalContentsArea .cc01 .vbr {
    display: block;
  }
}
.locationContentsArea .academyContentsArea {
  padding: clamp(60px, 6.25vw, 120px) 0;
}

.lifeinfoArea {
  padding: clamp(60px, 6.25vw, 120px) 0;
}
.lifeinfoArea .lifeinfoBox .tabLink {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px 8px;
}
.lifeinfoArea .lifeinfoBox .tabLink li {
  width: calc((100% - 40px) / 6);
  line-height: 1.2;
}
@media (max-width: 767px) {
  .lifeinfoArea .lifeinfoBox .tabLink li {
    width: calc((100% - 10px) / 2);
  }
}
.lifeinfoArea .lifeinfoBox .tabLink li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  font-size: 16px;
  text-align: center;
  height: 58px;
  padding: 0 3px;
  color: #000;
  border-bottom: solid 1px rgba(0, 0, 0, 0.5);
  -webkit-transition: background 0.4s ease 0s, color 0.4s ease 0s;
  transition: background 0.4s ease 0s, color 0.4s ease 0s;
}
@media (max-width: 991px) {
  .lifeinfoArea .lifeinfoBox .tabLink li a {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .lifeinfoArea .lifeinfoBox .tabLink li a {
    font-size: 13px;
    height: 40px;
    padding: 0 5px;
  }
}
@media (min-width: 992px) {
  .lifeinfoArea .lifeinfoBox .tabLink li a:hover {
    color: #fff;
    background: var(--color-main01);
    border-color: var(--color-main01);
  }
}
.lifeinfoArea .lifeinfoBox .tabLink li a.current {
  color: #fff;
  background: var(--color-main01);
  border-color: var(--color-main01);
}
.lifeinfoArea .mapWrap > div {
  display: none;
}
.lifeinfoArea .mapWrap > div.current {
  display: block;
}