/*----------------------------------------------*/
/* 全体設定                                     */
/*----------------------------------------------*/
/* サイトフォント */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
html,body {
	/*フォント*/
	font-family: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, sans-serif;
	font-family: Raleway, sans-serif;
	font-family: 'Kosugi Maru', sans-serif;
	overflow-x: hidden;
	padding: 0;
	margin: 0;
	color: #333333;
}

/* リンクカラー */
.card-body:not(.frame-setting-body) a:not(.btn),
.card-body:not(.frame-setting-body) a .fa-twitter,
.card-body:not(.frame-setting-body) a .fa-facebook-square,
.card-body:not(.frame-setting-body) .accordion article.card button      /* FAQ */
{
   color: #7c5c42;
}
.card-body:not(.frame-setting-body) .accordion article.card button .badge-primary  /* FAQ */
{
  background-color: #7c5c42;
}

/* 全体位置調整 */
body div.container-fluid,
.card-body,
header
{
  position: relative;
}

/*----------------------------------------------*/
/* グローバルメニュー・ハンバーガーメニューの設定 */
/*----------------------------------------------*/
.global-menu .nav-tabs,
.global-menu .nav-link {
  border: unset;
}
.global-menu a.nav-link,
.global-menu .icon_menu_second_list .dropdown-item,
.global-menu .nav-item .hamburger-accordion-block {
  color: #333333 !important;
}
/* アイコン(OFF) */
.global-menu .card-body a.nav-link {
  padding-bottom: 0;
  background-image: url(/themes/Users/D-hana-green/images/menu-icon-off.png);
  background-repeat: no-repeat;
  background-position: top center;
  height: 100px;
  padding-top: 70px;
}
/* アイコン(ON) */
.global-menu .card-body a.nav-link:hover,
.global-menu .card-body  a.nav-link:focus,
.global-menu .card-body  a.nav-link.active {
  background-image: url(/themes/Users/D-hana-green/images/menu-icon-on.png);
  background-color: unset !important;
}
/* グローバルメニュー　オンマウスした時 */
.global-menu .card-body > nav .nav-item {
  position: relative;
}
.global-menu .card-body > nav a.nav-link:hover::before {
  content: "";
  display: block;
  position: absolute;
  position-area: top center;
  bottom: 0;
  width: calc(100% - 2rem);
  height: 1rem;
  background-color: #fceba2;
  border-radius: 10px;
  z-index: -1;
}
.global-menu a.nav-link::after {
  content: unset;   /* ▼を非表示にする */
}

/* 下層リスト */
.global-menu .dropdown-menu {
  border: unset;
  border-radius: 0.5rem;
  top: -0.5rem !important;
  left: 50% !important;
  transform: translate3d(-50%, 111px, 0px) !important;
}
.global-menu .dropdown-menu > a:not(.depth-1),
.global-menu .dropdown-menu > .dropdown-divider {
  display: none;  /* ルートリンクを表示しない */
}
.global-menu .dropdown-item {
  color: #333 !important;
  padding: 0.5rem 0.5rem 0.5rem 2rem;
}
/* 下層メニューの左端のアイコン */
.global-menu .dropdown-item::before {
  content: "";
  background-image: url(/themes/Users/D-hana-green/images/arrow-right.png);
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  height: 1.1rem;
  width: 8px;
  left: 1.5rem;
}
/* 下層メニュー マウスON */
.global-menu .dropdown-item:hover {
  background-color: #c9e5c1;
}
/* 下層メニュー アクティブ */
.global-menu .dropdown-item.active {
   background-color: #fceba2;
}
/* ハンバーガーメニュー設定 */
@media (max-width: 767px) {
  .global-menu a.nav-link {
    background-image: unset !important;
    height: unset !important;
    padding-top: 0.5rem !important;
  }
  .global-menu .card {
    margin-bottom: 0 !important;
  }
  .global-menu .hamburger-menu .navbar {
    padding: unset;
  }
  .global-menu .hamburger-menu .navbar-light .navbar-toggler {
    color: #a58b74;
    border: 1px solid #a58b74;
    background-color: #c9e5c1;
    border-radius: 100% !important;
    padding: 10px;
    width: 50px;
    height: 50px;
    z-index: 13;
    margin: 0 15px 0 auto;
    position: absolute;
    top: -170px;
    right: -10px;
  }
  .global-menu .hamburger-menu .navbar-light .navbar-toggler-icon {
    background-color: #a58b74;
  }
  .global-menu .hamburger-menu .navbar-toggler-icon:nth-of-type(1) { top: 14px; height: 3px; }
  .global-menu .hamburger-menu .navbar-toggler-icon:nth-of-type(2) { top: 22px; height: 3px; }
  .global-menu .hamburger-menu .navbar-toggler-icon:nth-of-type(3) { top: 30px; height: 3px; }
  .global-menu .hamburger-menu .hamburger-accordion[aria-expanded="false"]:after,
  .global-menu .hamburger-menu .hamburger-accordion-block[aria-expanded="false"]:after {
    color: #a58b74;
    font-family: 'Kosugi Maru', sans-serif;
    content: '＋';
    top: -5px;
	font-size: 2rem;
    width: 3rem;
    text-align: center;
  }
  .global-menu .hamburger-menu .hamburger-accordion[aria-expanded="true"]:after,
  .global-menu .hamburger-menu .hamburger-accordion-block[aria-expanded="true"]:after {
    color: #a58b74;
    font-family: 'Kosugi Maru', sans-serif;
    content: 'ー';
    top: 3px;
    font-size: 1.5rem;
    width: 3rem;
    text-align: center;
    margin: unset;
  }
  .global-menu .hamburger-menu .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) { top: 23px; }
  .global-menu .hamburger-menu .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) { top: 23px; }
}
@media screen and (max-width: 480px) {
  .global-menu .hamburger-menu .navbar-light .navbar-toggler {
    top: -140px;
  }
}

/*----------------------------------------------*/
/* トップページスライドショー設定               */
/*----------------------------------------------*/
.top-slideshows {
  background-image: url(/themes/Users/D-hana-green/images/slide-back.png);
  background-size: cover;
  padding-top: 5rem !important;
  padding-bottom: 2rem !important;
}
.top-slideshows .card-body .carousel-item img {
  border-radius: 1rem;
  border: 0.3rem solid #fff;
  height: auto;
  object-fit: contain;
  background-color: #fff;
  aspect-ratio: 950 / 550;
}
/* スライドショーを全体的に小さくする　※アイコンがあるから */
.top-slideshows .container {
  max-width: 950px;
}

/* スライドショー　前へ・次へボタンの調整 */
.top-slideshows .carousel-control-prev-icon {
  background-image: url(/themes/Users/D-hana-green/images/slide-left.png);
}
.top-slideshows .carousel-control-next-icon {
  background-image: url(/themes/Users/D-hana-green/images/slide-right.png);
}
.top-slideshows .carousel-control-next-icon, .carousel-control-prev-icon {
  height: 3rem;
  width: 3rem;
}
@media screen and (max-width: 992px) {
  .top-slideshows .carousel-control-prev { left: -1.7rem !important; }
  .top-slideshows .carousel-control-next { right: -1.7rem !important; }
}
@media screen and (max-width: 767px) {
  .top-slideshows .carousel-control-prev { left: -2rem !important; }
  .top-slideshows .carousel-control-next { right: -2rem !important; }
  .top-slideshows .carousel-control-next-icon, .carousel-control-prev-icon {
      height: 2.5rem;
      width: 2.5rem;
    }
}
@media screen and (max-width: 480px) {
  .top-slideshows {
    padding-top: 2.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .top-slideshows .carousel-control-next-icon, .carousel-control-prev-icon {
    height: 1.5rem;
    width: 1.5rem;
  }
}
.top-slideshows .carousel-control-prev,
.top-slideshows .carousel-control-next {
  width: 5rem;
  opacity: unset;
  z-index: 999;
}
.top-slideshows .carousel-control-prev {
  left: -2.5rem;
}
.top-slideshows .carousel-control-next {
  right: -2.5rem;
}

/* スライドショーに被るアイコンの設定 */
.top-slideshows .carousel-inner {
    position: unset;
}
/* 左アイコンの設定 */
.top-slideshows .carousel-inner::before {
    content: "";
    width: 300px;
    height: 231px;
    position: absolute;
    z-index: 999;
    top: -3rem;
    left: -11rem;
    background-image: url(/themes/Users/D-hana-green/images/slide-illust-left.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
}
/* 右アイコンの設定 */
.top-slideshows .carousel-inner::after {
    content: "";
    width: 300px;
    height: 231px;
    position: absolute;
    bottom: -3rem;
    right: -15rem;
    z-index: 999;
    background-image: url(/themes/Users/D-hana-green/images/slide-illust-right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
}
@media screen and (max-width: 1400px) {
  /* 1400px以下に適用されるCSS */
  .top-slideshows .carousel-inner::after { right: calc(10% - 231px); }
}
@media screen and (max-width: 1300px) {
  /* 1300px以下に適用されるCSS */
  .top-slideshows .carousel-inner::before { left: calc(15% - 231px); }
  .top-slideshows .carousel-inner::after { right: calc(15% - 231px); }
}
@media screen and (max-width: 1100px) {
  /* 1100px以下に適用されるCSS */
  .top-slideshows .carousel-inner::before { left: calc(19% - 231px); }
  .top-slideshows .carousel-inner::after { right: calc(20% - 231px); }
}
@media screen and (max-width: 992px) {
  /* 992px以下に適用されるCSS */
  .top-slideshows .carousel-inner::before {
    left: -3rem;
    width: 260px;
    height: 200px
    top: -5rem;
  }
  .top-slideshows .carousel-inner::after {
    right: -2rem;
    width: 260px;
    height: 200px
  }
}
@media screen and (max-width: 767px) {
  /* 768px以下に適用されるCSS（タブレット用） */
  .top-slideshows .carousel-inner::before {
    width: 160px;
    height: 123px;
    top: -3.8rem;
    left: -1.5rem;
  }
  .top-slideshows .carousel-inner::after {
    width: 160px;
    height: 123px;
    bottom: -1.5em;
    right: -1rem;
  }
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .top-slideshows .carousel-inner::before {
    width: 100px;
    height: 77px;
    top: -2.2rem;
    left: -1.3rem;
  }
  .top-slideshows .carousel-inner::after {
    width: 100px;
    height: 77px;
    bottom: -1em;
    right: -1rem;
  }
}


/*----------------------------------------------*/
/* トップページ新着情報の設定                   */
/*----------------------------------------------*/
.top-whatsnew .card-body .container::before {
  content: "";
  background-image: url(/themes/Users/D-hana-green/images/news-title.png);
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
  width: 389px;
  height: 115px;
}
.top-whatsnew .card-body article {
  margin-left: 450px;
  background-image: url(/themes/Users/D-hana-green/images/arrow-right.png);
  background-repeat: no-repeat;
  background-position: center left;
}
.top-whatsnew .card-body article .row {
  margin-left: 1rem;
  padding-top: 0 !important;
  margin-bottom: 1rem;
}
.top-whatsnew .card-body article div.row div {
  padding-left: 1rem !important;
}
@media screen and (max-width: 1200px) {
  .top-whatsnew .card-body .container::before { width: 350px; }
  .top-whatsnew .card-body article { margin-left: 400px; }
}
@media screen and (max-width: 992px) {
  .top-whatsnew .card-body .container::before {
    width: 389px;
    position: relative;
    display: block;
    margin: auto;
    margin-bottom: 1.5rem;
  }
  .top-whatsnew .card-body article {
    margin-left: unset;
    background-position: left 0.4rem;
  }
}
@media screen and (max-width: 767px) {
  .top-whatsnew .card-body {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .top-whatsnew .card-body .container::before {
    max-width: 389px;
    width: 100%;
  }
  .top-whatsnew .card-body article div.row div {
    padding-left: unset !important;
  }
}
@media screen and (max-width: 480px) {
  .top-whatsnew .card-body {
    padding: unset !important;
  }
  .top-whatsnew .card-body > div::before {
    width: 100%;
    max-width: 350px;
    margin-bottom: unset;
  }
  .top-whatsnew .card-body .container::before {
    width: 100%;
  }
}

/*----------------------------------------------*/
/* バナー画像微調整                             */
/*----------------------------------------------*/
.top-banner .card-body .row {
  width: 90%;
  margin: auto;
}
.top-banner .card-body img:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .top-banner .card-body .row {
    width: unset;
    margin: auto;
  }
  .top-banner .card-body .row .col-sm-12 {
    padding-bottom: 0.5rem;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .top-banner .card-body .row .col-sm-12 img {
    width: 95%
  }
}

/*----------------------------------------------*/
/* リンクリスト                                 */
/*----------------------------------------------*/
.top-linklist dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}
.top-linklist dl dd {
  width: calc(100% / 4.3);
  min-width: 150px;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.top-linklist dl dd a {
  background-color: #a58b74;
  color: #fff !important;
  border-radius: 0.5rem;
  border: solid 0.2rem #a58b74;
  display: block;
  padding: 1rem;
  font-size: 1.1rem;
}
.top-linklist dl dd a:hover {
  background-color: #fff;
  color: #7c5c42 !important;
  text-decoration: none;
}
.top-linklist dl dd a::before {
  content: url(/themes/Users/D-hana-green/images/maru-arrow-off.png);
  padding-right: 1rem;
}
.top-linklist dl dd a:hover::before, 
.top-linklist dl dd a:focus::before {
  content: url(/themes/Users/D-hana-green/images/maru-arrow-on.png);
}
@media screen and (max-width: 992px) {
  .top-linklist dl dd { width: calc(100% / 4.4); }
}
@media screen and (max-width: 767px) {
  .top-linklist .card-body {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .top-linklist dl dd { width: calc(100% / 2.2); }
}
@media screen and (max-width: 480px) {
  .top-linklist .card-body {
    padding-left: unset !important;
    padding-right: unset !important;
  }
  .top-linklist dl dd { width: 100%; }
}

/*----------------------------------------------*/
/* カテゴリカラー                               */
/*----------------------------------------------*/
/* 共通設定 */
.cc_category_news,
.cc_category_children,
.cc_category_event {
  width: 7rem;
  border-radius: 1rem;
}

/*----------------------------------------------*/
/* フッターメニュー                             */
/*----------------------------------------------*/
.footer-menu li.nav-item {
  position: relative;
  padding-bottom: 1rem;
  text-align: left;
}
.footer-menu li.nav-item ul li {
  text-align: left;
  list-style: disc;
}
.footer-menu li.nav-item > a,
.footer-menu li.nav-item ul li a {
  color: #333 !important;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.footer-menu li.nav-item > a:hover,
.footer-menu li.nav-item ul li a:hover {
  text-decoration: none;
  background: linear-gradient(transparent 70%, #fceba2 70%);
}
@media screen and (max-width: 992px) {
  .footer-menu .card-body .footersitemap .nav {
    display: grid;
    grid-template-columns: repeat(3, auto);
  }
  .footer-menu .card-body .footersitemap .nav .nav-item a {
    padding: unset;
  }
}
@media screen and (max-width: 480px) {
  .footer-menu .card-body .footersitemap .nav {
    grid-template-columns: repeat(2, auto);
  }
}


/*----------------------------------------------*/
/* フッター                                     */
/*----------------------------------------------*/
.ccFooterArea {
  background-image: url(/themes/Users/D-hana-green/images/footer-back.png);
  background-size: cover;
  padding-top: 5rem !important;
  padding-bottom: 1rem !important;
}
.footer-contents .card-body {
  background-image: url(/themes/Users/D-hana-green/images/footer-illust-sp.png);
  background-position: right top;
  background-repeat: no-repeat;
  padding-top: 1rem !important;
  min-height: 7rem;
}
.ccFooterArea::before {
  content: "";
  background-image: url(/themes/Users/D-hana-green/images/footer-illust-left.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom left;
  width: 256px;
  height: 158px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.footer-copyright .container::before {
  content: "";
  background-image: url(/themes/Users/D-hana-green/images/footer-illust-right.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom right;
  width: 255px;
  height: 158px;
  position: absolute;
  right: 0;
  bottom: -1rem;
}
@media (max-width: 767px) {
  .footer-contents .card-body {
    background-image: unset;
  }
  .ccFooterArea::before {
    content: unset;
  }
  .footer-copyright .container::before {
    content: unset;
  }
  .footer-menu {
    background-image: url(/themes/Users/D-hana-green/images/footer-illust-sp.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    padding-top: 1rem !important;
    min-height: 7rem;
  }
}

/*----------------------------------------------*/
/* 著作権のリンク設定                           */
/*----------------------------------------------*/
.footer-otherlink .card-body p a {
  color: #333 !important;
}


/*----------------------------------------------*/
/* フレームDefaultの設定                        */
/*----------------------------------------------*/
.card {
  border: unset;
}
h1.bg-default,
h1:not(.card-header) {
  background-color: #fceba2;
  padding: 0.5em 1rem;
  border-radius: 1.5rem !important;
  display: flex;
  align-items: flex-start;
}
h1.bg-default::before,
h1:not(.card-header)::before {
  content: url(/themes/Users/D-hana-green/images/flame1-star.png);
  padding-right: 0.5rem;
}

/*----------------------------------------------*/
/* Hタグ テーマ専用特殊設定                     */
/*----------------------------------------------*/
h1 {
  font-size: 1.25rem !important;
}
h2 {
  border-bottom: 0.3rem solid #c9e5c1;
  font-size: 1.25rem !important;
  padding-bottom: 0.3rem;
  display: flex;
  align-items: flex-start;
}
h2::before {
  content: url(/themes/Users/D-hana-green/images/flame2-mark.png);
  padding-right: 0.5rem;
}
h3 { font-size: 1.25rem !important; }
h4 { font-size: 1.2rem !important; }
h5 { font-size: 1.1rem !important; }
h6 { font-size: 1rem !important; }

hr {
  border-top: 0.2rem dotted #a58b74;
}
hr::after {
  content: url(/themes/Users/D-hana-green/images/flame3-illust.png);
  position: relative;
  left: 85%;
  transform: translateX(-85%);
  top: -0.8rem;
  background-color: #fff;
}

/*----------------------------------------------*/
/* サブページ設定                               */
/*----------------------------------------------*/
body:not(.home) .ccHeaderArea {
  border-bottom: 0.5rem solid #c9e5c1;
  padding-bottom: 0.5rem !important;
  margin-bottom: 1.5rem !important;
}