/* ==========================================================================
   トップページ
   トップのバナー・おすすめ情報・動画・観光スポット・SNS・リンク一覧。
   編集案内: CSS編集ガイド.md
   PC用とスマートフォン用は、このファイル内で一緒に管理します。
   ========================================================================== */

/*--------------------------------------------------------------
## トップページ
--------------------------------------------------------------*/
.page-id-3791 .entry-header {
  display: none;
}
.page-id-3791 .post-inner {
  padding: 0;
}
.page-id-3791 #site-footer {
  margin-top: 0rem;
}
.top-main-banner-area a {
  display: block;
  max-width: 95rem;
  margin: 0 auto;
  padding: 0;
}
.top-main-banner-area {
  position: relative;
  padding: 7rem 0;
  background-image: url(../../../uploads/top/t-1bk01.png);
  background-position: 10% 20%;
  background-repeat: no-repeat;
  text-align: center;
}
.top-main-banner-area::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../../../uploads/top/t-1bk02.png);
  background-position: 90% 20%;
  opacity: 1;
  z-index: -1;
  background-repeat: no-repeat;
}
.top-main-banner-area > div {
  margin-bottom: 1rem;
}
.top-main-banner-area > div > h2 {
  margin-top: 5rem;
}
.top-main-banner-area > div img {
  width: 100%;
}
@media only screen and (max-width: 1000px) {
  .top-main-banner-area {
    position: relative;
    padding: 4rem 7.5rem 6rem;
    background-size: 15% auto;
    background-position: 2% 10%;
  }
  .top-main-banner-area::after {
    background-position: 95% 100%;
    background-size: 18% auto;
  }
}
@media only screen and (max-width: 550px) {
  .top-main-banner-area {
    padding: 2rem 2.5rem 3rem;
  }
}
/*-TOPテキストリンク 満員御礼-*/
.top-main-banner-area a {
  color: black;
  font-size: 130%;
  line-height: 140%;
}
.top-main-banner-area a span.red {
  color: red;
}
.top-main-banner-area a span.blue {
  color: blue;
}
.top-main-banner-area h2 {
  margin: 1rem auto 1rem;
}
/*-# おすすめ情報、 #-*/
.top-c02-area {
  position: relative;
  max-width: 100vw !important;
  width: calc(100% - 0rem) !important;
  margin: 0 calc(50% - 50vw);
  padding: 4rem 0;
  background-image: url(../../../uploads/top/top-c02-haikei.jpg);
  overflow: hidden;
}
@media only screen and (max-width: 1040px) {
  .top-c02-area {
    padding: 3rem 2rem;
  }
}
.top-c02-area .content {
  position: relative;
}
.top-c02-haieki-img101 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 308px;
}
@media only screen and (max-width: 900px) {
  .top-c02-haieki-img101 {
    width: 200px;
    transition: 0.3s;
  }
}
@media only screen and (max-width: 550px) {
  .top-c02-haieki-img101 {
    width: 145px;
    transition: 0.3s;
  }
}
.top-c02-haieki-img102 {
  position: absolute;
  top: 10%;
  right: -1%;
  z-index: 0;
}
@media only screen and (max-width: 900px) {
  .top-c02-haieki-img102 {
    top: 0%;
    width: 15%;
    transition: 0.2s;
  }
}
.top-c02-haieki-img103 {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 393px;
}
@media only screen and (max-width: 900px) {
  .top-c02-haieki-img103 {
    width: 200px;
    transition: 0.3s;
  }
}
.top-c02-haieki-img201 {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .top-c02-haieki-img201 {
    top: 60%;
    width: 20%;
    transition: 0.3s;
  }
}
.top-c02-haieki-img202 {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(-30%, -110%);
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .top-c02-haieki-img202 {
    width: 20%;
    transform: translate(8%, -110%);
    transition: 0.2s;
  }
}
.t-m-osusume {
  display: block;
  padding: 0;
  margin: 0rem auto 2rem !important;
  text-align: center;
}
.t-m-osusume::before {
  content: "";
  display: inline-block;
  width: 40px; /*画像の幅*/
  height: 40px; /*画像の高さ*/
  background-image: url(../../../uploads/top/t-02t.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-top: -1rem;
  margin-right: 1rem;
}
.t-m-news {
  text-align: center;
}
@media only screen and (max-width: 1000px) {
  .t-m-news {
    margin-top: 2rem;
  }
}
.top-c02-area .content .pt-cv-ifield {
  /*画像、タイトル、日付順番*/
  display: flex;
  flex-wrap: wrap;
}
.top-c02-area .content .pt-cv-ifield a {
  /*画像-1*/
  order: 1;
  width: 100%;
}
.top-c02-area .content .pt-cv-ifield h3 {
  /*タイトル-3*/
  order: 3;
  font-size: 2.5rem;
}
.top-c02-area .content .pt-cv-wrapper:nth-child(2) .pt-cv-ifield h3 a,
.top-c02-area .content .pt-cv-ifield h3 a {
  /*タイトル-3*/
  color: #000;
}
.top-c02-area .content .pt-cv-wrapper .pt-cv-ifield h3 {
  /*タイトル-3*/
  font-size: 80%;
  line-height: 110%;
}
.top-c02-area .content .pt-cv-wrapper:nth-child(2) .pt-cv-ifield h3 {
  /*タイトル-3*/
  font-size: 100%;
  line-height: 130%;
}
.top-c02-area .content .pt-cv-ifield .pt-cv-meta-fields {
  /*日付-2*/
  order: 2;
}
.top-c02-area .content .pt-cv-wrapper {
  max-width: 76rem;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .top-c02-area .content .pt-cv-wrapper {
    max-width: 53rem;
    width: calc(100% - 5rem);
  }
}
.top-c02-area .content .pt-cv-wrapper:nth-child(2) {
  max-width: 103rem;
  margin: 0 auto;
}
.top-c02-area .content .pt-cv-wrapper:nth-child(2) img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  object-position: 0 0%;
}
@media only screen and (max-width: 767px) {
  .top-c02-area .content .pt-cv-wrapper:nth-child(2) {
    max-width: 53rem;
    width: calc(100% - 5rem);
  }
}
.top-c02-area .content .pt-cv-wrapper img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: 0 0%;
}
.top-c02-area .content .pt-cv-wrapper .entry-date {
  font-size: 125%;
}
.top-c02-area .content .pt-cv-wrapper .entry-date::before {
  content: "更新日 : "; /* ← ここに表示したいコメント文字列 */
  display: inline-block; /* 行内に並べたいなら inline-block でOK */
  margin-right: 0.25em; /* 日付との間の余白 */
}
.top-c02-area .content .pt-cv-wrapper:nth-child(2) .pt-cv-ifield {
  background-color: white;
  padding: 1rem;
  height: 100%;
  border-radius: 0.5rem;
}
.top-c02-area .content .pt-cv-title {
  margin: 0;
  padding: 0;
  line-height: 120%;
  min-height: 9rem;
}
@media only screen and (max-width: 767px) {
  .top-c02-area .content .pt-cv-title {
    min-height: auto;
  }
}
.top-c02-area .content .pt-cv-ifield > *,
.top-c02-area .content .pt-cv-view .pt-cv-content-item > * {
  margin-bottom: 0px;
}
/*-# YouTube最新動画 #-*/
.t-m-osusume {
  display: block;
  padding: 0;
  margin: 0rem auto 2rem !important;
  text-align: center;
}
.t-m-youtube {
  display: block;
  padding: 0;
  text-align: center;
}
.t-m-youtube::before {
  content: "";
  display: inline-block;
  width: 50px; /*画像の幅*/
  height: 38px; /*画像の高さ*/
  background-image: url(../../../uploads/top/t-03t.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-top: -1rem;
  margin-right: 1rem;
}
@media only screen and (max-width: 750px) {
  .t-m-youtube::before {
    margin-top: 0.5rem;
    width: 35px; /*画像の幅*/
  }
}
.top-c03-area #yrc-shell-0 .yrc-load-more-button {
  background: #fff !important;
  color: #333 !important;
  border: solid #ccc 1px !important;
}
.yrc-thumb a img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
/******* はえばる観光スポット-area  *******/
.t-m-spot {
  display: block;
  padding: 0;
  text-align: center;
}
.t-m-spot::before {
  content: "";
  display: inline-block;
  width: 50px; /*画像の幅*/
  height: 40px; /*画像の高さ*/
  background-image: url(../../../uploads/top/t-06t.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-top: -1rem;
  margin-right: 1rem;
}
@media only screen and (max-width: 750px) {
  .t-m-spot::before {
    margin-top: 0.5rem;
    width: 35px; /*画像の幅*/
  }
}
.m-spot {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style-type: none;
}
.m-spot li {
  max-width: 30%;
  width: calc(100% / 3);
  margin: 0 1% 2rem 1%;
  padding: 0;
  background-color: black;
  text-align: center;
  border-radius: 10px;
}
@media only screen and (max-width: 750px) {
  .m-spot li {
    max-width: 45%;
    width: calc(100% / 2);
  }
}
.m-spot li img {
  width: 100%;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}
.m-spot li a {
  color: white;
}
.m-spot li a span {
  padding-left: 3.5rem;
  font-size: 110%;
}
@media only screen and (max-width: 620px) {
  .m-spot li a span {
    padding-left: 3rem;
  }
}
.m-spot .m-s-miru a span {
  background-image: url(../../../uploads/top/t-06-c1-icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.m-spot .m-s-taberu a span {
  background-image: url(../../../uploads/top/t-06-c2-icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.m-spot .m-s-kau a span {
  background-image: url(../../../uploads/top/t-06-c3-icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.m-spot .m-s-asobu a span {
  background-image: url(../../../uploads/top/t-06-c4-icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.m-spot .m-s-sonota a span {
  background-image: url(../../../uploads/top/t-06-c5-icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
@media only screen and (max-width: 620px) {
  .m-spot .m-s-miru a span,
  .m-spot .m-s-taberu a span,
  .m-spot .m-s-kau a span,
  .m-spot .m-s-asobu a span,
  .m-spot .m-s-sonota a span {
    background-size: 20px auto;
  }
}
/******* SNS-area  *******/
.top-contents-snsarea a {
  color: white;
}
.top-contents-snsarea a:visited {
  color: white;
}
.top-contents-snsarea {
  max-width: 100rem !important;
  width: calc(100% - 2rem) !important;
  margin: 3rem auto 1rem;
}
@media only screen and (max-width: 730px) {
  .top-contents-snsarea {
    margin: 5rem auto;
  }
}
.top-contents-snsarea ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0;
  padding: 0px;
  list-style: none;
}
.top-contents-snsarea ul li {
  margin: 1.5rem 0 0 1.3rem;
  padding: 0;
  border-radius: 5px;
}
.top-contents-snsarea ul li:first-child {
  margin-left: 0;
}
.top-contents-snsarea ul li small,
.top-contents-snsarea ul li span {
  display: block;
}
.p-sns-youtube,
.p-sns-twitter,
.p-sns-facebook,
.p-sns-instagram {
  padding: 7px 0 0 0;
  margin: 0.5rem 0 0 1rem;
}
.p-sns-youtube,
.p-sns-twitter,
.p-sns-facebook,
.p-sns-instagram {
  display: block;
  width: 240px;
  background-color: red;
}
.p-sns-twitter {
  background-color: #000;
}
.p-sns-facebook {
  background-color: #3d62ad;
}
.p-sns-instagram {
  background-color: #cf006a;
}
.p-sns-youtube a,
.p-sns-twitter a,
.p-sns-facebook a,
.p-sns-instagram a {
  display: flex;
  align-items: center;
  width: auto;
  height: 100%;
  background-image: url(../../../uploads/common/sns-youtube.png);
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 35px;
  padding: 0.5rem 0 0.5rem 25%;
  font-weight: 600;
  font-size: 2rem;
}
.p-sns-twitter a {
  background-image: url(../../../uploads/common/sns-twitter.png);
}
.p-sns-facebook a {
  background-image: url(../../../uploads/common/sns-facebook.png);
}
.p-sns-instagram a {
  background-image: url(../../../uploads/common/sns-instagram.png);
}
@media only screen and (max-width: 1000px) {
  .top-contents-snsarea ul {
    max-width: 50rem;
    margin: 0 auto;
  }
  .top-contents-snsarea ul li:nth-child(3) {
    margin-left: 0;
  }
}
@media only screen and (max-width: 620px) {
  .p-sns-youtube a,
  .p-sns-twitter a,
  .p-sns-facebook a,
  .p-sns-instagram a {
    background-size: 25px;
  }
}
@media only screen and (max-width: 515px) {
  .top-contents-snsarea ul {
    width: 24rem;
    margin: 0 auto;
  }
  .top-contents-snsarea ul li {
    width: 30rem;
    margin-left: 0;
    margin-right: 0;
  }
}
/******* TOPサブメニュー SNS-areas下  *******/
.top-sub-menu-area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0px;
  list-style: none;
  max-width: 540px !important;
}
.top-sub-menu-area li a {
  font-size: 90%;
  color: black;
  background-image: url(../../../uploads/common/arrow-3.png);
  padding: 0 0 0 1.75rem;
  margin: 0 0.75rem 0 0;
  background-repeat: no-repeat;
  background-position: left center;
}
/******* banner-area  *******/
.top-banner-area {
  max-width: 100vw !important;
  width: calc(100% - 0rem) !important;
  margin: 3rem calc(50% - 50vw) 0;
  padding: 4rem 0;
  background-color: #ededed;
}
.top-b1-area {
  max-width: 100rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 1rem;
  list-style-type: none;
}
.top-b1-area li {
  width: calc(100% / 4);
  padding: 10px;
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .top-b1-area {
    max-width: 50rem;
  }
  .top-b1-area li {
    width: calc(100% / 2);
    padding: 5px 5px 0px 5px;
    margin: 0;
  }
}
.top-b2-area {
  max-width: 100rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0;
  list-style-type: none;
}
.top-b2-area li {
  width: calc(100% / 4);
  padding: 10px;
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .top-b2-area {
    max-width: 95%;
  }
  .top-b2-area li {
    width: calc(100% / 3);
    padding: 5px 5px 0px 5px;
    margin: 0;
  }
}
@media only screen and (max-width: 350px) {
  .top-b2-area {
    max-width: 95%;
  }
  .top-b2-area li {
    width: calc(100% / 2);
    padding: 5px 5px 0px 5px;
    margin: 0;
  }
}
