@charset "UTF-8";

/*****************************
top common
*****************************/
.topsec {
  padding: 10rem 0;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .topsec {
    padding: 6rem 0;
  }
}

/*****************************
topsec-fv
*****************************/
.topsec-fv .fvslide {
  border-radius: 20px;
  margin: 0 auto;
  overflow: hidden;
  position: sticky;
  top: 2rem;
  left: 0;
  right: 0;
  transition: height .3s ease-out,opacity 1s ease-in-out;
  height: calc(100vh - 6rem);
  width: calc(100% - 4rem);
  z-index: -1;
}
.topsec-fv .fvslide::before {
  background: rgba(0,0,0,.5);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  transition: 1s;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.topsec-fv .fvslide.change::before {
  background: rgba(0,0,0,.7);
}
.topsec-fv .splide__slide {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 6rem);
  width: calc(100% - 4rem);
}
.topsec-fv .catch h1 {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: 3px;
  line-height: 1.5;
  position: absolute;
  bottom: 3rem;
  left: 8rem;
  text-shadow: 3px 3px 10px #000;
}
.topsec-fv .catch h1 span {
  color: #fff;
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 3px;
  text-shadow: 3px 3px 10px #000;
}
.topsec-fv .message {
  height: 150vh;
  width: 100%;
}
.topsec-fv .message .box {
  color: #fff;
  position: absolute;
  top: 50%;
  right: 20rem;
  transform: translateY(-50%);
}
.topsec-fv .message .box h2 {
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 3px;
  margin-bottom: 2rem;
}
.topsec-fv .message .box .txt {
  font-size: 1.8rem;
  line-height: 2.5;
  margin-bottom: 3rem;
}
.topsec-fv .message .box .morebtn1 a {
  border-bottom: 1px solid #fff;
  color: #fff;
}
.topsec-fv .message .box .morebtn1 span {
  background: #fff;
}
.topsec-fv .message .box .morebtn1 span::before,
.topsec-fv .message .box .morebtn1 span::after {
  background: #A64B42;
}

.scrollbox {
  position: absolute;
  right: 5rem;
  bottom: 0;
  transition: .5s;
  z-index: 1;
}
.scrollbox.change {
  opacity: 0;
}
.scrollbox .txt {
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 3px;
  writing-mode: vertical-lr;
}
.scrollbox .bar {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.scrollbox .bar::after {
  background: #fff;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100px;
  width: 1px;
}
.scrollbox .bar::before {
  animation:
  circlemove 3s ease-in-out infinite,
  cirlemovehide 3s ease-out infinite;
  background: #fff;
  border-radius: 50%;
  content: '';
  position: absolute;
  bottom: 0;
  left: -4px;
  height: 8px;
  width: 8px;
}
@keyframes circlemove {
  0% { bottom: 95px; }
  100% { bottom: 0px; }
}
@keyframes cirlemovehide {
  0% { opacity: 0; }
  50% { opacity: 1; }
  80% { opacity: .9; }
  100% { opacity: 0; }
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .topsec-fv .catch h1 {
    font-size: 3.5rem;
  }
  .topsec-fv .message .box h2 {
    font-size: 3rem;
  }
  .topsec-fv .message .box .txt {
  font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .topsec-fv .fvslide {
    width: calc(100% - 2.5rem);
  }
  .topsec-fv .catch h1 {
    font-size: 2rem;
    left: 3rem;
  }
  .topsec-fv .catch h1 span {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
  .topsec-fv .message .box h2 {
    font-size: 2.5rem;
  }
  .topsec-fv .message .box {
    right: initial;
    left: 2.5rem;
  }
}

/*****************************
topsec-attention
*****************************/
.topsec-attention .txtbox {
  line-height: 2.5;
  margin-bottom: 15rem;
  padding: 2rem;
  text-align: center;
}
.topsec-attention .txtbox p {
  font-size: 1.8rem;
}
.topsec-attention .ttlbox1 {
  margin-bottom: 5rem;
  text-align: center;
}
.topsec-attention .ttlbox h3::first-letter {
  color: #B39A7A;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 767px) {
  .topsec-guide .txtbox p {
    font-size: 1.6rem;
  }
}

/*****************************
topsec-guide
*****************************/
.topsec-guide {
  padding: 15rem 0 35rem;
}
.guidelist li::before,
.guidelist li::after {
  content: '';
  position: absolute;
  z-index: -1;
}
.guidelist li:nth-child(1):before {
  background: url(../images/common/mari.svg) no-repeat center / contain;
  bottom: -25rem;
  right: 45vw;
  opacity: .3;
  height: 25vw;
  width: 25vw;
}
.guidelist li:nth-child(2):before {
  background: url(../images/common/flower.svg) no-repeat center / contain;
  bottom: -24rem;
  right: 30vw;
  opacity: .2;
  height: 25vw;
  width: 25vw;
}
.guidelist li:nth-child(3):before,
.guidelist li:nth-child(3):after {
  background: url(../images/common/yuge.svg) no-repeat center / contain;
  opacity: .15;
  height: 13vw;
  width: 31vw;
}
.guidelist li:nth-child(3):before {
  top: -15rem;
  left: -5vw;
}
.guidelist li:nth-child(3):after {
  bottom: -21rem;
  right: -5vw;
}
.guidelist li:nth-child(4):before {
  background: url(../images/common/mari.svg) no-repeat center / contain;
  bottom: -30rem;
  right: 40vw;
  opacity: .35;
  height: 25vw;
  width: 25vw;
}
.guidelist li:not(:last-child) {
  margin-bottom: 40rem;
}
.guidelist li:nth-child(even).flexbox2 {
  flex-direction: row-reverse;
}
.guidelist li.flexbox2 .img {
  position: absolute;
  bottom: -23rem;
  overflow: hidden;
  width: 20vw;
}
.guidelist li.flexbox2 .img img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.guidelist li:nth-child(odd).flexbox2 .img {
  border-radius: 0 20px 20px 0;
  left: 0;
}
.guidelist li:nth-child(even).flexbox2 .img {
  border-radius: 20px 0 0 20px;
  right: 0;
}
.guidelist .ftxtbox {
  padding: 6vw;
  width: 55vw;
}
.guidelist .ftxtbox .txt {
  line-height: 2;
  margin: 2rem 0 5rem;
}
.guidelist .fimgbox {
  overflow: hidden;
  width: 40vw;
}
.guidelist .fimgbox img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.guidelist li:nth-child(odd).flexbox2 .fimgbox {
  border-radius: 20px 0 0 20px;
}
.guidelist li:nth-child(even).flexbox2 .fimgbox {
  border-radius: 0 20px 20px 0;
}
@media only screen and (max-width: 1180px) {
  .guidelist .ftxtbox {
    padding: 2vw;
  }
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .guidelist li.flexbox2 .img {
    width: 25vw;
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .topsec-guide {
    padding: 10rem 0 5rem;
  }
  .topsec-guide .txtbox p {
    font-size: 1.6rem;
  }
  .guidelist li:not(:last-child) {
    margin-bottom: 15rem;
  }
  .guidelist .ftxtbox {
    margin-bottom: 5rem;
    padding: 0 2rem;
    width: 100%;
  }
  .guidelist .fimgbox {
    width: 50%;
  }
  .guidelist li:nth-child(odd).flexbox2 .fimgbox {
    margin-left: auto;
  }
  .guidelist li:nth-child(even).flexbox2 .fimgbox {
    margin-right: auto;
  }
  .guidelist li.flexbox2 .img {
    bottom: -5rem;
    width: 40%;
  }
  .guidelist li:nth-child(1):before {
    bottom: initial;
    top: 0;
    right: -1rem;
    height: 20rem;
    width: 20rem;
  }
  .guidelist li:nth-child(2):before {
    bottom: initial;
    top: 25rem;
    right: -1rem;
    height: 20rem;
    width: 20rem;
  }
  .guidelist li:nth-child(3):before,
  .guidelist li:nth-child(3):after {
    height: 8rem;
    width: 20rem;
  }
  .guidelist li:nth-child(3):before {
    top: 0;
    left: initial;
    right: -5rem;
  }
  .guidelist li:nth-child(3):after {
    bottom: 14rem;
    right: initial;
    left: -1rem;
  }
  .guidelist li:nth-child(4):before {
    top: 42rem;
    right: 0;
    height: 20rem;
    width: 20rem;
  }
}

/*****************************
bg-sec1
*****************************/
.bg-sec1 {
  position: relative;
  aspect-ratio: 2/.5;
  clip-path: inset(0);
  margin: 10rem 0 20rem;
}
.bg-sec1::before,
.bg-sec1::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
}
.bg-sec1::before {
  background: url(../images/top/fixbg1.webp) no-repeat center / cover;
}
.bg-sec1::after {
  background: rgba(0,0,0,.2);
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
  .bg-sec1 {
    aspect-ratio: 1/.4;
  }
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .bg-sec1 {
    aspect-ratio: 1/.5;
    margin: 15rem 0 20rem;
  }
}


/*****************************
topsec-plan
*****************************/
.topsec-plan .fimgbox {
  width: 40%;
}
.topsec-plan .fimgbox img {
  border-radius: 20px;
}
.topsec-plan .ftxtbox {
  width: 55%;
}
.topsec-plan .ftxtbox .txt {
  line-height: 2;
  margin: 2rem 0 3rem;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .topsec-plan .flexbox2 {
    flex-direction: column-reverse;
  }
  .topsec-plan .fimgbox {
    width: 100%;
  }
  .topsec-plan .ftxtbox {
    margin-bottom: 5rem;
    width: 100%;
  }
}

/*****************************
topsec-news
*****************************/
.topsec-news {
  background: url(../images/top/news_bg.webp) no-repeat center / cover;
  margin-bottom: 25rem;
}
.topsec-news::before {
  background: rgba(179,154,122,.35);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.newsbox {
  border-radius: 20px;
  background: rgba(255,255,255,.95);
  padding: 5rem;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  width: 90%;
  z-index: 1;
}
.newsbox .ttlbox1 {
  margin-bottom: 2rem;
}
.newsbox .ftxtbox:nth-child(1) {
  width: 30%;
}
.newsbox .ftxtbox:nth-child(2) {
  width: 65%;
}
.newsbox .flexbox2 + .morebtn1 {
  display: none;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .newsbox .ttlbox1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
  }
  .newsbox .ftxtbox:nth-child(1) {
    width: 100%;
  }
  .newsbox .ftxtbox:nth-child(2) {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .newsbox .flexbox2 {
    margin-bottom: 3rem;
  }
  .newsbox .ttlbox1 .morebtn1 {
      display: none;
  }
  .newsbox .flexbox2 + .morebtn1 {
    display: block;
  }
}
