@charset "UTF-8";

header {
  display: flex;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  left: 50%;
  align-items: center;
  justify-content: space-between;
  z-index: 10000;
  width: 100%;
  padding-right: 32px;
  padding-left: 32px;
}

@media screen and (max-width: 767px) {
  header {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.top-nav-pc a:link {
  color: #ffffff;
  text-shadow: 1px 1px 0 rgb(125, 125, 125, 0.25);
}

.top-nav-pc a:visited {
  color: #ffffff;
  text-shadow: 1px 1px 0 rgb(125, 125, 125, 0.25);
}

.top-nav-pc a:hover {
  color: #ffffff;
  text-decoration: underline;
  text-shadow: 1px 1px 0 rgb(125, 125, 125, 0.25);
}

.top-nav-pc a:active {
  color: #ffffff;
  text-shadow: 1px 1px 0 rgb(125, 125, 125, 0.25);
}


/* スライドショー */
.slider {
width: clamp(100px, 85%, 1200px);
margin-right: 0;
margin-left: auto;
overflow: hidden;
}

@media screen and (max-width: 767px){
  .slider {
    z-index: -1;
    width: 85%;
    margin-right: 0;
    margin-left:auto;
    text-align: right;
  }
}

/* メインビジュアル */
.top-main-vidual {
  width: auto;
  max-width: 100%;
  padding-top: 0;
  z-index: -1;
  position: relative;
}

.top-main-vidual-img {
  display: block;
  padding-top: 0;
  z-index: -1;
}

.top-main-vidual-img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .top-main-vidual-sp-img img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    width: 555px;
  }
}

/* 縦書きメッセージ */
.top-main-message {
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 2;
  padding: 0 5%;
  color: #468459;
  font-family: 'Shippori Mincho', serif;
  position: absolute;
  left: 2.5%;
  top: 20%;
  z-index: 10;
  font-size: 2.5vw;
}


.top-main-message span {
  border-right: 1px dashed #468459;
  padding: 2px;
}

.top-main-message::before {
  content: "";
  background-image: url(./../images/_x31_7.png);
  background-repeat: no-repeat;
  background-size: 90%;
  width: 146px;
  height: 133px;
  position: absolute;
  top: -10%;
  left: 40%;
  z-index: -1;
}

@media screen and (max-width: 1040px) {

  .top-main-message::before {
    background-size: 60%;
    left: 35%;
  }
}

.top-main-message::after {
  content: "";
  background-image: url(./../images/_x31_7.png);
  background-repeat: no-repeat;
  background-size: 90%;
  width: 146px;
  height: 133px;
  position: absolute;
  bottom: 15%;
  left: 15%;
  z-index: -1;
}

@media screen and (max-width: 1040px) {
  .top-main-message::after {
    background-size: 60%;
    left: 0;
    bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .top-main-message {
    padding-right: 30px;
    font-size: 20px;
    z-index: 1;
    left: 0%;
    top: 30%;
    font-size: 5vw;
  }

  .top-main-message::before {
    width: 100%;
    height: 100%;
    top: 52%;
    right: 20%;
    background-size: 120%;
  }

  .top-main-message::after {
    width: 120%;
    height: 100%;
    top: -16%;
    left: 0;
    background-size: 110%;
  }
}

/* ヒーローイメージ */
ul {
  margin-top: 0;
  overflow: hidden;
}

.slider::before {
  content: "";
  background: url(./../images/_x31_3.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 18px;
  z-index: -1;
  object-fit: cover;
}


@media screen and (max-width: 767px) {
  .slider::before {
    content: "";
    background: url(./../images/_x31_3.png);
    background-repeat: no-repeat;
    background-size: 190%;
    width: 110%;
    height: 100%;
    position: absolute;
    top: -5%;
    left: 7%;
    z-index: 0;	z-index: -1;
overflow: hidden;	
}	
}	
/* ドットインジケーター */	
.dots-class button {	
display: none;	
appearance: none;	
outline: none;	
padding: 0;	
border: none;	
background-color: #ffffff;	
}	
/* ドットを囲む親要素 */	
.dots-class {	
position: absolute;	
bottom: 30px;	
right: 30px;	
border-radius:20%;	
display: flex;	
justify-content: right;	
padding: 0px;	
margin-top: 0px;	
width: 80px;	
background-color: #ffffff;	
z-index: 100;	
}	
/* それぞれのドット */	
.dots-class li {	
width: 20px;	
height: 5px;	
background-color: #fff;	
border-radius: 20px;	
z-index: 1;	
}	
/* 今表示してるスライドのドット */	
.dots-class li.slick-active {	
position: absolute;	
left: 0;	
background-color: #468459;	
z-index:10;	
}	
.dots-class li.slick-active:nth-child(1) {	
width: 20px;	overflow: hidden;
}	
.dots-class li.slick-active:nth-child(2) {	
width: 40px;	
}	
.dots-class li.slick-active:nth-child(3) {	
width: 60px;	
}

.dots-class li.slick-active:nth-child(4) {	
width: 80px;
}

/* お知らせ */
.news {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  width: min(100%, 1200px);
  padding: 7px 20px;
}

.news-main {
  display: flex;
  gap: 3%;
  align-items: center;
  flex: 1;
}

.news-subject {
  display: flex;
  font-size: 18px;
  color: #468459;
  gap: 7px;
  align-items: center;
  white-space: nowrap;
}

.news-subject p:nth-child(1) {
  font-weight: bolder;
  font-size: 24px;
}

.news-date {
  white-space: nowrap;
}

.news-date-info {
  display: flex;
  gap: 3%;
  flex: 1;
}

.news-date {
  display: flex;
  gap: 3px;
  align-items: center;
}

.news-date span:nth-child(2) {
  background-color: #468459;
  color: #ffffff;
  border-radius: 4px;
  font-size: 14px;
  display: flex;
  padding: 2px 16px;
  justify-content: center;
  align-items: center;
  padding-right: 15px;
}

.news a {
  margin-left: auto;
  font-size: 14px;
  color: #000000;
}

.news a:hover,
.news a:visited,
.news a:hover {
  color: #000000;
}

@media screen and (max-width: 767px) {
  .news {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .news-info br {
    display: none;
  }

  .news-date {
    flex-direction: column;
  }

  .news a {
    margin-left: auto;
    color: #0C4324
  }

  .news-info span {
    display: inline-block;
  }
}