/* header {
  top: 2rem;
  left: 2rem;
  width: 17.9rem;
  height: 5rem;

  background: transparent url('img/logo.jpeg') 0% 0% no-repeat padding-box;
  opacity: 1;
} */
/* サイドバーTOP設定 */
.seta_side_menu {
  top:  calc(50% - 24rem);
}
/* 背景追従 */
.bg_wrap {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
.bg_filter {
  width: 100%;
  height: 100vh;
  position: fixed;
  background-color: #FFF5DA;
  opacity: 38%;
}
.bg_shape {
  width: 100%;
  height: auto;
  top: 3.7rem;
  left: -.8rem;
  position: fixed;
  z-index: -1;
}
.bg_shape_sp {
  display: none;
}

.fv_bg_cor {
  width: 100%;
  height: 100svh;
  background-color: #FFF5DA;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

/* 画面全体の設定 */
body {
  background-color: #FFF5DA;
  /* max-width: 128rem; */
  width: 100%;
  margin: 0 auto;
}
.main {
  max-width: 128rem;
  margin: 0 auto;
}

/* --- ヒーローセクション --- */
.hero {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.hero_container {
  width: 114rem;
}

.hero_media {
  position: relative;
  /* margin-top: 10rem; */
}

.fv-slider {
  position: relative;
  /* height: calc(100vh - 13rem); */
  height: 66.6rem;
  overflow: hidden;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out; /* フェードの速度 */
}

/* .slide::after{
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  background-color: #FFE17A;
  opacity: .2;
  width: 100%;
  height: 100%;
  border-radius: 4rem;
} */

/* .slide::after {
  position: absolute;
  bottom: 4.5rem;
  right: 2rem;
  content: "";
  width: 100%;
  background-color: #fff5da;
  opacity: 0.7;
  width: 74rem;
  height: 18rem;
  border-radius: 4rem;
} */
.slide.active {
  opacity: 1;
}

.hero_img {
  top: 10.2rem;
  left: 7rem;
  width: 114rem;
  /* height: 64.5rem; */
  /* height: calc(100vh - 13rem); */
  height: 66.6rem;
  /* background: transparent url('img/hero1.jpg') 0% 0% no-repeat padding-box; */
  border-radius: 4rem;
  opacity: 1;

  /* position: relative;
  width: 114rem;
  height: 64.5rem; */
  /* 画像を歪ませずに枠いっぱいに表示 [5, 6] */
}

.hero_copy {
  position: absolute;
  bottom: 6.5rem;
  /* left: 69.5rem; */
  left: 40.5rem;
  font: var(--unnamed-font-style-normal) normal bold 5rem/7.2rem var(--unnamed-font-family-zen-maru-gothic);
  letter-spacing: var(--unnamed-character-spacing-0);
  font: normal normal bold 5rem/7.2rem Zen Maru Gothic;
  letter-spacing: 0rem;
  color: #FFFFFF;
  opacity: 1;
  /* width: 42.8rem; */
  width: 71rem;
  display: flex;
  flex-wrap: wrap;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.6);
}

/* セクション全体の配置を設定 */
.section_container {
  width: 90.3rem;
  /* height: 261.1rem; */
  margin-left: 27.2rem;
  margin-top: 3.2rem;
  margin-bottom: 4.9rem;
  background-color: #FFFFFF;
  border-radius: 4rem;
  overflow: hidden;
  opacity: 1;
  position: relative;
  z-index: 2;
  padding: 0 0 5.9rem 0;
}

/* Setouchi Life (Seta) 紹介セクション */
.section_introduction {
  border-bottom: 0.01rem solid #000000;
  margin: 8.5rem 9rem 0rem 9rem;
}

.circle {
  display: flex;
  vertical-align: middle;
  margin-right: 0.5rem;
  font-size: 1.5rem;
  top: 8.8rem;
  left: 9rem;
  font-weight: 500;
  align-items: center;
}

.circle::before {
  content: '';
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: #00A57C;
  margin-right: 0.8rem;
  text-align: center;
  line-height: 1.5rem;
}

.company h2 {
  margin-bottom: 3rem;
}

.company p {
  font-size: 1.6rem;
  line-height: calc(25/16);
  font-weight: 500;
}

.action_button {
  display: flex;
  justify-content: space-between;
  margin-top: 1.7rem;
}

.company_see {
  font-size: 1.8rem;
  margin-right: 1rem;
  font-weight: 500;
}

.button {
  display: flex;
  align-items: center;
  height: 11rem;
}

.arrow {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background-color: #00A57C;
  position: relative;
  /* margin-right: 1rem; */
}

.arrow::before {
  content: '→';
  display: inline-block;
  /* margin-right: 1rem; */
  text-align: center;
  line-height: 5rem;
  color: #FFFFFF;
  font-size: 1.8rem;
  position: absolute;
  left: 1.4rem;
  transition: .2s;
}

/* ホバー */
  a:any-link:hover .arrow::before {
    transform: translateX(.6rem);
  }
  a:any-link:hover.contact_link {
    background-color: #01A47D;
    color: #FFF5DA;
  }

.company_bear {
  width: 16.61rem;
  height: 13.3rem;
}

/* --- 各ホームの紹介（グリッドレイアウト） --- */
.section_homes {
  margin: 2.7rem 9rem 0rem 9rem;
  font-weight: 500;
}

.section_title {
  font-size: 3.3rem;
  margin-top: 0.4rem;
  font-weight: 500;
}

.home_list {
  display: flex;
  gap: 6.3rem;
  list-style: none;
}

.list01 {
  margin-top: 2rem;
}

.list02 {
  margin-top: 4rem;
}

.home_item {
  overflow: hidden;
  transition: transform 0.3s;
}

.home_item:hover {
  transform: translateY(-0.5rem);
  /* マウスを置いたときに少し浮き上がらせる */
}


.home_item img {
  width: 33rem;
  height: 20rem;
  border-radius: 2rem;
}

.home_title {
  font-size: 1.8rem;
  font-weight: 500;
}

.home_title_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: #000000 0.01rem solid;
  margin-top: 1rem;
  padding-bottom: 0.5rem;
}

.arrow02 {
  background-color: #F27B2D;
}

.arrow03 {
  background-color: #FDB9C9;
}

.arrow04 {
  background-color: #FFE17A;
}

.tags {
  display: flex;
  justify-content: space-between;
  border-bottom: 0.01rem solid black;
  margin-top: 3rem;
  padding-bottom: 4.1rem;
}

.tag {
  display: inline-block;
  width: 16.5rem;
  height: 4rem;
  border-radius: 2.3rem;
  background-color: #000000;
  color: #FFFFFF;
  font-size: 1.5rem;
  text-align: center;
  line-height: 4rem;
}
.tag a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* --- お知らせセクション --- */
.section_news {
  margin: 4.7rem 9rem 0rem 9rem;
  font-weight: 500;
}

.tit_mb_20 {
  margin-bottom: 2rem;
}
.tit_mb_30 {
  margin-bottom: 3rem;
}

.news_item {
  display: flex;
  gap: 3rem;
  margin-bottom: 5rem;
}

.news_img_amima {
  width: 33rem;
  height: 23rem;
  border-radius: 1rem;
  overflow: hidden;
}
.front_news_img,
.front_no_img {
  width: 33rem;
  height: 23rem;
  object-fit: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: .3s;
}
.news_item:hover .front_news_img,
.news_item:hover .front_no_img {
  transform: scale(1.1);
}

.front_no_img img {
  width: 28rem;
  height: auto;
}

.date_name {
  display: flex;
  margin-bottom: 0.4rem;
}

.date_name p {
  font-size: 1.5rem;
}

.single_cat_wrap {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.home_name {
  margin-left: 1rem;
  background-color: #00A57C;
  border-radius: 1rem;
  color: white;
  font-size: 1.5rem;
  min-width: 15rem;
  padding: 0 1rem;
  height: 2rem;
  text-align: center;
  line-height: 2rem;
}

.name02 {
  background-color: #F27B2D;
}

.news_detail {
  width: 36.5rem;
}
.news_detail h3 {
  font-size: 1.8rem;
  line-height: calc(24/16);
  min-height: 5.2rem;
  margin-bottom: 1rem;
  display: -webkit-box; 
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-weight: 500;
}

/* .news_text > p {
  display: none;
}
.news_text > p:nth-child(1) {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: calc(24/16);
  margin-bottom: 1.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-clamp: 3;
} */

.news_text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: calc(24/16);
  margin-bottom: 1.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-clamp: 3;
}

.next_page_wrap {
  width: fit-content;
  display: flex;
  align-items: center;
  height: 5rem;
  gap: 1rem;
}

.continuation {
  font-size: 1.8rem;
  /* font-weight: bold; */
}

/* --- お問い合わせセクション --- */
.section_contact {
  margin: 6rem 8.7rem 0rem 5.5rem;
}

.section_contact h2 {
  margin-bottom: 2.1rem;
}

.contact_wrap {
  width: calc(32.5rem * 2 + 8rem);
  margin-left: auto;
  display: flex;
  justify-content: center;
  gap: 8rem;
}

.visit {
  display: flex;
  flex-direction: column;
  gap: 2.7rem;
}

.here {
  background-color: #147FCE;
  color: white;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 4.5rem;
  width: 32rem;
  height: 4.5rem;
  border-radius: 0rem 2.6rem 2.6rem 0rem;
}

.contact_link {
  background-color: #FFF5DA;
  border: #01A47D 0.01rem solid;
  color: #01A47D;
  font-size: 1.8rem;
  text-align: center;
  line-height: 4.5rem;
  width: 32rem;
  height: 4.5rem;
  border-radius: 0.5rem;
  transition: .3s;
}

.staff {
  display: flex;
  flex-direction: column;
  gap: 2.7rem;
}

/* インスタ連携 */

.utari_headlines {
  font-size: 3.2rem;
  line-height: 4.6rem;
  font-weight: bold;
}

.top_instagram_title {
  font-size: 3.2rem;
  color: rgb(76, 122, 97);
}

.top_instagram_section{
  margin-top: 8.9rem;
  padding-bottom: 5.5rem;
}

.instagram_padding_bottom{
  display: block;
  margin-left: 9rem;
  margin-right: 9rem;
}
.instagram_middle_title{
  color: rgb(76, 122, 97);
  font-size: 2rem;
  margin-top: 4rem;
  margin-bottom: 2rem;
  text-align: center;
}
#sb_instagram #sbi_images{
  gap: 3rem !important;
}

#sb_instagram .sb_instagram_header, .sb_instagram_header {
  display: none;
}

@media screen and (max-width: 699.98px) {
  body {
    max-width: 37.5rem;
    height: 436.5rem;
  }

   /* 背景追従 */
  .bg_wrap {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .bg_shape_sp {
    width: 100%;
    height: auto;
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
  }
    .bg_shape {
    display: none;
  }

  .main {
    max-width: 100%;
  }

  .hero_media {
    /* margin-top: 1.6rem; */
    margin-bottom: 4rem;
  }

  .slide {
    text-align: center;
  }

  /* .slide::after {
    position: absolute;
    bottom: 4.5rem;
    right: 2rem;
    left: 3rem;
    content: "";
    width: 100%;
    background-color: #fff5da;
    opacity: 0.7;
    width: 24.5rem;
    height: 22rem;
    border-radius: 3rem;
  } */

  .fv-slider {
    position: relative;
    /* height: calc(100vh - 13rem); */
    height: 66.6rem;
    overflow: hidden;
  }

  .hero_img {
    width: 32.5rem;
    border-radius: 3rem;
  }

  .hero_copy {
    font-size: 3rem;
    line-height: 4.4rem;
    position: absolute;
    /* top: 43.7rem; */
    left: 4.5rem;
    width: 23rem;
  }

  /* セクション全体の設定 */
  .section_container {
    width: 32.5rem;
    /* height: 364.9rem; */
    border-radius: 3rem;
    margin: 0 auto;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
  }

  /* SETA紹介セッション */
  .section_introduction {
    margin: 2.5rem 2rem 0rem 2rem;
  }

  .company h2 {
    font-size: 2.5rem;
    margin: 0;
  }

  .company p {
    margin-top: 1rem;
  }

  .action_button {
    margin-top: 1rem;
    margin-bottom: 2rem;
    margin-left: 1rem;
    position: relative;
    display: flex;
    justify-content: flex-end;
  }

  .button {
    position: absolute;
    top: 7rem;
    height: 5rem;
  }

  .company_bear {
    width: 14.986rem;
    height: 12rem;
    margin-right: -1rem;
  }

  /* 各ホームの紹介セクション */
  .section_homes {
    margin: 3rem 2rem 0rem 2rem;
  }

  .section_title {
    font-size: 2.5rem;
    margin-top: 0;
  }

  .container h2 {
    margin-bottom: 2rem;
  }

  .list01 {
    margin-top: 2rem;
  }

  .list02 {
    margin-top: 2rem;
  }

  .home_list {
    flex-direction: column;
    gap: 2rem;
  }

  .home_item img {
    width: 28.5rem;
    height: 17rem;
  }

  .home_title_wrap {
    padding-bottom: 0.8rem;
    margin-top: 0.3rem;
  }

  .news_item {
    margin-bottom: 4rem;
  }

  .news_item:last-child {
    padding-bottom: 3rem;
    border-bottom: 1px black solid;
  }

  .tags {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 2rem;
    padding-bottom: 2.2rem;
  }

  .tag {
    width: 14rem;
    box-sizing: border-box;
    margin-bottom: 0.8rem;
  }

  /* 4. お知らせセクション */
  .section_news {
    margin: 3rem 2rem 0rem 2rem;
  }

  .news_item {
    flex-direction: column;
    gap: 1rem;
  }

  .news_img_amima {
    width: 28.5rem;
    height: 19rem;
    border-radius: 1rem;
    overflow: hidden;
  }
  .front_news_img,
  .front_no_img {
    width: 28.5rem;
    height: 19rem;
  }

  .front_no_img img {
    width: 25rem;
    height: auto;
  }

  .news_item:last-child {
    margin-bottom: 0;
  }

  .next_page_wrap {
    /* justify-content: flex-end; */
    margin-left: auto;
  }

  .news_detail {
    width: 100%;
  }

  /* 5. お問い合わせセクション */
  .section_contact {
    margin: 3rem 2rem 0rem 2rem;
  }

  .section_contact h2 {
    margin-bottom: 2rem;
  }

  .contact_wrap {
    width: 100%;
    flex-direction: column;
    gap: 2.5rem;
  }

  .visit {
    gap: 1rem;
  }

  .here {
    width: 28.5rem;
  }

  .staff {
    gap: 1rem;
  }

  .contact_link {
    width: 28.5rem;
  }

  .utari_headlines {
  font-size: 2.5rem;
  line-height: 3.6rem;
  }

  .instagram_middle_title {
    font-size: 1.5rem;
  }

  .instagram_padding_bottom {
    display: block;
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .instagram_middle_title {
    font-size: 1.5rem;
  }
  .top_instagram_section{
    padding-bottom: 2.5rem;
  }

  #sb_instagram #sbi_images {
    gap: 2rem !important;
  }




}