@import url("../../fonts/Inter/Inter.css");
@import url("../../fonts/Montserrat/Montserrat.css");

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  color: inherit;
}

/* Disable chat */
div#Embed,
#launcher {
  display: none !important;
}

html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
  background: #fff;
  color: #303030;
  margin: 0;
  padding: 0;
  position: relative;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Inter", sans-serif;
}

.s01 {
  position: relative;
}

.s01-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.s01-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s01-wrap {
  width: 65.63vw;
  margin: 0 auto;
  padding: 4.95vw 0 17.19vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.s01 h1 {
  width: 26.04vw;
  font-size: 2.4vw;
  font-weight: 700;
  line-height: 1.2;
  color: #314356;
}

.s01 h1 span {
  color: #AA8431;
}

.s01 p {
  width: 25.52vw;
  padding: 1.04vw 0 2.08vw;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5;
  color: #314356;
}

.cc-btn {
  padding: 1.04vw 3.13vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.52vw;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  border-radius: 3.39vw;
  color: #FFF;
  background: #AA8431;
  transition: filter 0.3s;
}

.cc-btn:hover {
  filter: brightness(115%);
}

.s02 {
  width: 65.63vw;
  margin: -10.1vw auto 0;
  padding: 2.08vw 0;
  border-radius: 1.56vw;
  background: #314356;
}

.s02 h2 {
  width: 32.81vw;
  margin: 0 auto;
  padding: 0 0 1.77vw;
  font-size: 1.56vw;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  color: #F1F1F1;
}

.s02 h2 span {
  font-weight: bold;
}

.s02-row {
  display: flex;
  justify-content: center;
  gap: 3.13vw;
}

.s02 p.p01 {
  padding: 0 0 0.26vw;
  font-family: "Inter", sans-serif;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #F1F1F1;
}

.s02 p.p02 {
  font-family: "Inter", sans-serif;
  font-size: 1.04vw;
  line-height: 1.4;
  text-align: center;
  color: #D0BB8D;
}

.s03 {
  width: 65.63vw;
  margin: 0 auto;
  padding: 7.29vw 0 0;
  display: flex;
  justify-content: flex-end;
}

.s03-wrap {
  width: 31.77vw;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.3vw;
}

.s03 h2 {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  color: #A58030;
}

.s03 p {
  display: flex;
  align-items: center;
  gap: 0.78vw;
  font-size: 1.04vw;
  font-weight: 500;
  line-height: 1.3;
  color: #314356;
}

.s03-dec {
  width: 48.96vw;
  max-width: initial;
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translate(-1.98vw, -50%);
  border-radius: 0 1.04vw 1.04vw 0;
}

.s04 {
  padding: 7.29vw 0 0;
}

.s04 h2 {
  padding: 0 0 2.6vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #A58030;
}

.s04-row {
  display: flex;
  justify-content: center;
  gap: 1.98vw;
}

.s04-profile {
  display: flex;
  align-items: center;
  gap: 0.73vw;
}

.s04 p.p01 {
  font-family: "Inter", sans-serif;
  font-size: 0.83vw;
  font-weight: 700;
  line-height: 1.4;
  color: #000;
}

.s04 p.p02 {
  font-family: "Inter", sans-serif;
  font-size: 0.73vw;
  font-style: italic;
  line-height: 1.4;
  color: #000;
}

.s05 {
  padding: 7.29vw 0 0;
  overflow: hidden;
}

.s05 h2 {
  padding: 0 0 5.21vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #A58030;
}

.s05-row {
  width: 65.63vw;
  margin: 0 auto 10.94vw;
  display: flex;
  justify-content: flex-start;
  position: relative;
}

.s05-row.reverse {
  justify-content: flex-end;
}

.s05-info {
  width: 28.13vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.s05-img {
  width: 48.96vw;
  max-width: initial;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(1vw, -50%);
  border-radius: 1.04vw 0 0 1.04vw;
}

.s05-row.reverse .s05-img {
  left: initial;
  right: 50%;
  transform: translate(-1vw, -50%);
  border-radius: 0 1.04vw 1.04vw 0;
}

.s05 h3 {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  color: #A58030;
}

.s05 p {
  padding: 1.04vw 0 2.08vw;
  font-size: 1.04vw;
  font-weight: 500;
  line-height: 1.5;
  color: #314356;
}

.s05 .cc-btn {
  padding: 1.04vw 3.13vw;
  font-size: 0.94vw;
  background-color: #314356;
}

.s06 {
  width: 43.02vw;
  margin: 0 auto;
  padding: 3.02vw 3.65vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.71vw;
  border-radius: 0.52vw;
  background: #314356;
}

.s06 h2 {
  width: 17.97vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #FFF;
}

.s06 h2 span {
  color: #E5AA52;
}

.s06-form {
  width: 15.1vw;
  display: flex;
  flex-direction: column;
  gap: 0.36vw;
}

.s06 input {
  padding: 0.68vw 0.94vw;
  font-size: 0.73vw;
  color: #fff;
  border: 0.1rem solid #fff;
  border-radius: 1.25vw;
  background-color: transparent;
}

.s06 input::placeholder {
  color: #fff;
  opacity: 1; /* Firefox */
}

.s06 input::-ms-input-placeholder { /* Edge 12 -18 */
  color: #fff;
}

.s06 .cc-btn {
  padding: 0.63vw 2.08vw;
  font-size: 0.94vw;
}

.s07-wrap {
  width: 65.63vw;
  margin: 0 auto;
  padding: 8.33vw 0 3.54vw;
}

.s07-header,
.s08-header {
  padding: 0 0 2.92vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.s07-header h2,
.s08-header h2 {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  color: #001627;
}

.s07-header h2 span,
.s08-header h2 span {
  color: #A58030;
}

.s07-more {
  font-size: 0.83vw;
  font-weight: 500;
  font-style: italic;
  line-height: 1.2;
  text-decoration-line: underline;
  color: #5884A7;
}

.s07-row,
.s08-row {
  display: flex;
  justify-content: space-between;
}

.s-post {
  width: 20.52vw;
}

.s-post-img {
  border-radius: 0.5rem;
}

.s-post-info {
  padding: 0.52vw 0;
  display: flex;
  gap: 1.04vw;
}

.s-post-cat {
  font-size: 0.73vw;
  font-weight: 700;
  line-height: 1.2;
  color: #5884A7;
}

.s-post-date,
.s-post-time {
  font-size: 0.73vw;
  line-height: 1.2;
  color: #969696;
}

.s-post-title {
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.3;
  color: #001627;
}

.s-post-execrpt {
  padding: 0.52vw 0;
  font-size: 0.83vw;
  font-weight: 500;
  line-height: 1.2;
  color: #001627;
}

.s-post-readmore {
  font-size: 0.83vw;
  font-weight: 500;
  font-style: italic;
  line-height: 1.2;
  text-decoration-line: underline;
  color: #5884A7;
}

.s-post-readmore:hover {
  text-decoration-line: underline;
}

.s-post-readmore.cc-btn {
  padding: 0.57vw 1.3vw;
  font-style: normal;
  text-decoration-line: none;
  color: #fff;
  background-color: #314356;
}

.s08 {
  background-color: #F1F1F1;
}

.s08-wrap {
  width: 65.63vw;
  margin: 0 auto;
  padding: 5.21vw 0 0;
}

.s08-header {
  padding: 0 0 2.5vw;
}

.s08 .s-post {
  width: 14.9vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.s09 {
  padding: 5.21vw 0 9.38vw;
  background-color: #f1f1f1;
}

.s09-wrap {
  width: 65.63vw;
  margin: 0 auto;
}

.s09 h2 {
  padding: 0 0 2.29vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  color: #001627;
}

.s09 h2 span {
  color: #A58030;
}

.s09 .splide__slide {
  display: flex;
}

.s09-img {
  width: 28.44vw;
}

.s09-info {
  padding: 2.08vw 3.23vw;
  background-color: #314356;
}

.s09 h3 {
  padding: 0 0 1.04vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.3;
  color: #D0BB8D;
}

.s09 p {
  font-size: 0.83vw;
  line-height: 1.2;
  color: #F1F1F1;
}

.s09 p + p {
  padding: 0.83vw 0 0;
}

.s08 .splide__pagination,
.s09 .splide__pagination {
  bottom: -2.4em;
}

.s08 .splide__pagination__page,
.s09 .splide__pagination__page {
  width: 0.52vw;
  height: 0.52vw;
  background-color: #C6C6C6;
}

.s08 .splide__pagination__page.is-active,
.s09 .splide__pagination__page.is-active {
  background-color: #A6A6A6;
  transform: none;
}

.s10-wrap {
  width: 65.63vw;
  margin: 0 auto;
  padding: 4.48vw 0 5.21vw;
  display: flex;
  justify-content: space-between;
}

.s10-info {
  width: 17.19vw;
}

.s10 h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.3;
  color: #A58030;
}

.s10 p.p01 {
  padding: 1.56vw 0 0.52vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.5;
  color: #314356;
}

.s10 p.p02 {
  font-size: 1.04vw;
  line-height: 1.5;
  color: #314356;
}

.s10 p.p03 {
  margin: 1.56vw 0 0;
  padding: 1.56vw 0 0;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.5;
  color: #314356;
  position: relative;
}

.s10 p.p03::before {
  position: absolute;
  content: '';
  width: 100%;
  height: 0.1rem;
  top: 0;
  left: 0;
  background: #314356;
}

.s10-map {
  width: 43vw;
}

.hide-desktop {
  display: none;
}

@media screen and (max-width: 600px) {
.s01 {
  z-index: -1;
}
.s01-bg {
  background-color: #f1f1f1;
}
.s01-bg img {
  object-fit: contain;
  object-position: top;
}
.s01-wrap {
  padding: 68.27vw 0 10.67vw;
}
.s01 h1 {
  width: 72.53vw;
  font-size: 6.4vw;
  text-align: center;
}
.s01 p {
  width: 88vw;
  padding: 4vw 0 5.33vw;
  font-size: 4.8vw;
  text-align: center;
}
.s01-wrap {
  width: 100%;
  align-items: center;
}
.cc-btn {
  padding: 3.2vw 6.93vw;
  font-size: 4.27vw;
  border-radius: 10.67vw;
}
.s02 {
  width: 100%;
  margin: 0 auto;
  padding: 6.67vw 0 10.67vw;
  border-radius: 0;
}
.s02 h2 {
  width: 74.67vw;
  padding: 0 0 8vw;
  font-size: 4.8vw;
}
.s02-row {
  width: 80%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5.33vw;
}
.s02 p.p01 {
  padding: 0 0 1.33vw;
  font-size: 4.27vw;
}
.s02 p.p02 {
  font-size: 4.27vw;
}
.s03 {
  width: 100%;
  padding: 16vw 0 0;
  justify-content: center;
}
.s03-wrap {
  width: 100%;
  gap: 4vw;
}
.s03 h2 {
  padding: 0 0 1.33vw;
  font-size: 5.33vw;
  text-align: center;
}
.s03 p {
  width: 84vw;
  margin: 0 auto;
  font-size: 4.27vw;
  gap: 2.67vw;
}
.s03-dec {
  position: relative;
  top: initial;
  right: initial;
  transform: none;
  width: 92vw;
  margin: 1.33vw 0 0;
  border-radius: 0 2.13vw 2.13vw 0;
}
.s04 {
  padding: 16vw 0 0;
}
.s04 h2 {
  width: 69.33vw;
  margin: 0 auto;
  padding: 0 0 5.33vw;
  font-size: 5.33vw;
}
.s05 {
  padding: 16vw 0 0;
}
.s05 h2 {
  width: 56vw;
  margin: 0 auto;
  padding: 0 0 8vw;
  font-size: 5.33vw;
}
.s05-row {
  width: 100%;
  flex-direction: column;
}
.s05-info {
  width: 84vw;
  margin: 0 auto;
}
.s05-img {
  position: relative;
  top: initial;
  left: initial;
  transform: none;
  width: 92vw;
  margin: 0 0 5.33vw;
  border-radius: 0 2.13vw 2.13vw 0;
}
.s05-row.reverse .s05-img {
  right: 0;
  transform: none;
}
.s05 h3 {
  font-size: 4.8vw;
}
.s05 p {
  padding: 2.67vw 0;
  font-size: 4.27vw;
}
.s05 .cc-btn {
  padding: 2.93vw 9.33vw;
  font-size: 3.73vw;
}
.s06 {
  width: 84vw;
  padding: 5.33vw 3.2vw 8.53vw;
  flex-direction: column;
  gap: 3.73vw;
  border-radius: 2.67vw;
}
.s06 h2 {
  width: 61.33vw;
  font-size: 5.33vw;
}
.s06-form {
  width: 100%;
  gap: 1.87vw;
}
.s06 input {
  font-size: 3.2vw;
  padding: 3.73vw 4.8vw;
  border-radius: 6.4vw;
}
.s06 .cc-btn {
  padding: 3.2vw 0;
  font-size: 4.53vw;
}
.s07-wrap {
  width: 84vw;
  padding: 17.87vw 0 16vw;
}
.s07-header,
.s08-header {
  padding: 0 0 8vw;
  justify-content: center;
}
.s07-header h2,
.s08-header h2 {
  font-size: 5.33vw;
  text-align: center;
}
.s07-row {
  flex-direction: column;
  gap: 10.67vw;
}
.s-post {
  width: 100%;
}
.s-post-img {
  border-radius: 1.07vw;
}
.s-post-info {
  padding: 2.67vw 0;
  gap: 4.27vw;
}
.s-post-cat {
  font-size: 3.2vw;
}
.s-post-date,
.s-post-time {
  font-size: 3.2vw;
}
.s-post-title {
  font-size: 4.8vw;
}
.s-post-execrpt {
  padding: 2.67vw 0;
  font-size: 3.73vw;
}
.s-post-readmore {
  font-size: 4.27vw;
}
.s07-more {
  padding: 10.67vw 0 0;
  justify-content: center;
  font-size: 4.27vw;
  text-align: center;
}
.s08-wrap {
  width: 76.27vw;
  padding: 10.67vw 0 0;
}
.s08 .s-post {
  width: 100%;
}
.s-post-readmore.cc-btn {
  padding: 2.93vw 12.8vw;
}
.s08 .splide__pagination {
  bottom: -2.4em;
}
.s08 .splide__pagination__page {
  width: 2.13vw;
  height: 2.13vw;
  background-color: #C6C6C6;
}
.s08 .splide__pagination__page.is-active {
  background-color: #A6A6A6;
}
.s09 {
  padding: 18.67vw 0 20vw;
}
.s09 h2 {
  padding: 0 0 5.33vw;
  font-size: 5.33vw;
  text-align: center;
}
.s09-wrap {
  width: 84vw;
}
.s09 .splide__slide {
  flex-direction: column;
}
.s09-img {
  width: 100%;
}
.s09-info {
  padding: 5.6vw 5.07vw;
  height: 100%;
}
.s09 h3 {
  padding: 0 0 2.67vw;
  font-size: 4.8vw;
}
.s09 p {
  font-size: 3.73vw;
}
.s09 p + p {
  padding: 3.73vw 0 0;
}
.s09 .splide__pagination__page {
  width: 2.13vw;
  height: 2.13vw;
}
.s10-wrap {
  width: 84vw;
  padding: 14.4vw 0 21.33vw;
  flex-direction: column;
  align-items: center;
}
.s10-info {
  width: 100%;
}
.s10 h2 {
  font-size: 5.33vw;
  text-align: center;
}
.s10 p.p01 {
  padding: 8vw 0 2.67vw;
  font-size: 5.33vw;
  text-align: center;
}
.s10 p.p02 {
  font-size: 4.8vw;
  text-align: center;
}
.s10 p.p03 {
  margin: 8vw 0 0;
  padding: 8vw 0 5.33vw;
  font-size: 6.4vw;
  text-align: center;
}
.s10-map {
  width: 100%;
  border-radius: 1.07vw;
  overflow: hidden;
}

.hide-desktop {
  display: flex;
}
.hide-mobile {
  display: none;
}
}