body {
    font-family:
    "Noto Sans JP",
    /* Preferred web font */
    "Hiragino Kaku Gothic ProN",
    /* macOS */
    "Meiryo",
    /* Windows */
    "Yu Gothic",
    /* Modern Windows fallback */
    "MS PGothic",
    /* Legacy fallback */
    sans-serif;
  /* font-family : "メイリオ", Meiryo, Osaka, "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif; */
}
body.customize-support #greenbar {
  height: 100px !important;
}
body.customize-support #header {
  top: 26px !important;
}
body.customize-support #main-navbar {
  height: 64px !important;
  top: 94px !important;
}
body.customize-support #main_warp {
    padding-top: 160px !important;
}
/* body.customize-support #header {
  padding-top: 54px !important; 
}
body.customize-support #main-navbar {
  top: 152px !important;
} */
/* body.customize-support #main-navbar.navbar-scroll {
  top: 5px !important;
} */
/* TOPページの全体のスタイル */
.dropdown-menu[data-bs-popper] {
  margin-top: -6px !important;
}

#wrapper, #header {
  background-color: #F8FCE8;
}
div#header {
  width: 1080px;
  height: 50px;
  margin: 0 auto;
}
#main {
  width: 1080px !important;
  /* border-left: solid 1px #666; */
  /* border-right: solid 1px #666; */
  border-radius: 0;
  padding: 0 !important;
  display: flex;
}

#content {
  width: 820px;
  margin-left: 20px;
  order: 2;
}
.hidden {
  display: none;
}
h1 {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  /* font-family: "メイリオ", "ＭＳ Ｐゴシック", Osaka, sans-serif; */
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  color: #555;
}
.navbar {
  background-color: #fff;
}
.header-fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.nav-fixed-top {
  position: relative;
  z-index: 9999;
}
#searchform button.btn.btn-light {
	color: #006646;
	border: solid 1px #dee2e6;
	border-left: none;
    cursor: pointer;
  }
.goodslink {
	font-size: 15px;
	text-align: right;
  color: #115F39;
	}
a.text-decoration-none.fw-bold.goodslink, a.inform.noLine {
  color: #115F39;
	}
.teleno {
	font-size: 17px;
	}
.opentimes {
	font-size: 11px;
	}
.top-h1 h1 {
  background-color: #444;
  color: #fff !important;
  /* font-family: "ＭＳ Ｐゴシック", Osaka, sans-serif; */
  font-size: 10px;
  line-height: 25px;
  text-align: center;
  margin: 0 0 6px;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 84, 64, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler {
  max-width: 100%;
  height: auto;
  padding: 2px;
  margin-left: 4px;
  border-color: rgba(0, 84, 64, 0.3);
}
.dropdown:hover > .dropdown-menu {
  display: flex;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
  position: absolute;
}
#navbarMain > ul:nth-child(2) > li > ul {
  width: 640px;
  margin-left: -8px;
    padding: 10px 24px 20px 24px;
}
#navbarMain > ul:nth-child(3) > li > ul {
  width: 1080px;
  margin-left: -155px;
    padding: 10px 24px 20px 24px;
}
#navbarMain > ul:nth-child(4) > li > ul {
  width: 324px;
  margin-left: -18px;
    padding: 10px 24px 20px 24px;
}
#navbarMain > ul:nth-child(5) > li > ul {
  width: 280px;
  margin-left: -18px;
    padding: 10px 24px 20px 24px;
}
#navbarMain > ul:nth-child(6) > li > ul {
  width: 700px;
  margin-right: -130px;
    padding: 10px 24px 20px 24px;
}
#navbarMain > ul:nth-child(7) > li > ul {
  width: 760px;
  margin-left: -486px;
    padding: 10px 24px 20px 24px;
}
#navbarMain > ul:nth-child(8) > li > ul {
  width: 430px;
  margin-left: -355px;
    padding: 10px 24px 20px 24px;
}
.dropdown-menu.show {
  display: flex !important;
}
.nav a {
  color: #595959;
}
ul.nav.navbar-nav {
  border-right: dashed 1px #ccc;
}
ul.nav.navbar-nav:last-of-type {
  border-right: none;
  z-index: 9999 !important;
}
a.dropdown-toggle,
a.dropdown-link {
  /* background: url(../img/arrow04.gif) no-repeat left center; */
  color: #0c0c0c;
  line-height: 32px;
  text-decoration: none;
  font-weight: bold;
  padding: 4px 16px 6px 16px;
}
a.dropdown-link, a.dropdown-link:visited {
  color: #595959;
  text-align: center;
  display: inline-block;
}
ul.mega-dropdown-menu {
  border-top: solid 1px #fff;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  /* margin-top: 15px; */
}
/* li.dropdown.mega-dropdown {
  margin-bottom: -11px;
} */
li.nav-item,
li.nav-item-blank {
  font-size: 14px;
  list-style-type: none;
  line-height: 30px;
}
li.nav-item.bold a {
  color: #006646;
  font-weight: bold;
}
li.nav-item a {
  text-decoration: none;
  color: #333333;
}
li.nav-item a::before {
  display: inline-block;
  margin-right: .5em;
  content: "";
  border-left: .3em solid;
  border-top: .3em solid transparent;
  border-right: 0;
  border-bottom: .3em solid transparent;
}
li.nav-item a:hover {
  text-decoration: none;
  color: #007D55;
}
.navbar .nav-link {
  color: #000 !important;
}

#logo {
  max-width: 52%;
  margin-top: -26px;
}

#offset-logo {
  max-width: 54%;
  margin-top: -20px;
}

.head-text {
  font-size: calc(0.6rem + 0.3vw) !important;
  margin-bottom: 0;
  margin-top: 4px;
  text-align: center;
}

.header-shadow,
.offcanvas-shadow {
  box-shadow: 0 7px 14px 0 rgba(65, 69, 88, 0.1),
    0 3px 6px 0 rgba(0, 0, 0, 0.07);
}

.bold {
  font-weight: bold !important;
}

.search-label {
  word-break: keep-all;
}

.offcanvas * {
  font-family:
    "Noto Sans JP",
    /* Preferred web font */
    "Hiragino Kaku Gothic ProN",
    /* macOS */
    "Meiryo",
    /* Windows */
    "Yu Gothic",
    /* Modern Windows fallback */
    "MS PGothic",
    /* Legacy fallback */
    sans-serif;
}

.offcanvas {
  border-width: 0em !important;
  width: 100%;
  max-height: 99vh;
  padding-right: 8px;
}

.offcanvas-header .btn-close {
  margin-top: 14px !important;
}

.offcanvas.offcanvas-end {
  width: 100%;
}

.offcanvas-backdrop {
  background-color: #1754B0;
}

.menu-wrap {
  padding: 20px;
}

.fade {
  transition: opacity 0.3s linear;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.8em;
  height: 1.8em;
}

body {
  overflow: hidden;
  /* padding-right: 8px; */
  padding: 6px;
}

#main-navbar {
  top: 64px;
  padding: 10px 0;
}
/* 
body.customize-support #main-navbar.navbar-scroll {
    padding-top: 34px !important;
} */

#main_warp {
  padding-top: 140px !important;
}

/* 左ナビーのスタイル */
#left-nav-cont {
  order: 1;
}
.snav {
  width: 230px;
  /* font-family: "メイリオ", "ＭＳ Ｐゴシック", Osaka, sans-serif !important; */
  max-width: 230px;
}
.snav img {
  max-width: 100%;
  height: auto;
}
#left-nav-cont > .col-md-12 {
  width: 230px !important;
  max-width: 230px;
  overflow: hidden;
}
.estimate-container {
  display: block;
  padding: 10px;
  max-width: 220px; 
  margin-bottom: 10px;
}
.estimate-container.standard {  
  border: solid 2.5px #FF4545; 
  background-color: #FF677D; 
  border-radius: 8px; 
}
.estimate-container.custom {  
  border: solid 2.5px #006CDD; 
  background-color: #00ACDD; 
  border-radius: 8px; 
}
.estimate-container.digital {  
  border: solid 2.5px #009A00; 
  background-color: #57CF00; 
  border-radius: 8px; 
}
.row1 {
  display: flex;
  justify-content: flex-start; 
}
.icon {
  display: flex;
  align-items: end; 
  justify-content: center; 
  width: 40px; 
  height: 50px; 
}
.icon svg {
  width: 100%;
  height: 100%;
}
.course-text {
  display: flex;
  flex-direction: column; 
  justify-content: center; 
  text-align: left; 
  color: #fff; 
  font-weight: bold;
}
.course-text p {
  font-size: 18px;
    font-weight: 600;
    line-height: 20px;
    color: #fff;
    letter-spacing: 1px;
}
.standard .course-text p {
  letter-spacing: -1px;
  text-shadow: 0px 0px 10px #B60000FF;
}
.custom .course-text p {
  text-shadow: 0px 0px 10px #005DBEFF;
}
.digital .course-text p {
  text-shadow: 0px 0px 10px #007200FF;
}
.course-text p:first-child {
  margin-bottom: 5px; 
}
.footer-text {
  text-align: center;
  background-color: #fff;
  border-radius: 50px;
  padding: 5px 10px;
  font-weight: bold;  
  /* letter-spacing: -0.8px; */
}
.standard > .footer-text {
  color: #FF677D;
}
.custom > .footer-text {
  color: #00ACDD;
}
.digital > .footer-text {
  color: #57CF00;
}
.cal-svg-green {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-cal.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  opacity: 0.65;
  margin-left: -5px;
}
.deadline-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-deadline.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.flg-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-flag.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.bal-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-balloon.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.faq-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-faq.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.use-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-use.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.column-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-column.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.event-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-event.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.gift-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-gift.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.pen-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-pen.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
  margin-left: -5px;
}
.spine-calc-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-spine-calc.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
    margin-left: 5px;
    margin-top: 5px;
}
.box-calc-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-box-calc.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
    margin-left: 5px;
    margin-top: 3px;
}
.goods-bag-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-goods-bag.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
    margin-left: 5px;
    margin-top: 5px;
}
.navi-ink-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-ink-tool.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
    margin-left: 5px;
    margin-top: 3px;
}
.navi-opt-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/navi-opt-tool.svg);
    margin-right: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 100%;
    height: auto;
    margin-left: 5px;
    margin-top: 3px;
}
.head-svg {
  margin-right: 8px;
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 100%;
  height: auto;
  padding-left: 50px;
}

.head-links-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/head-links.svg);
}

.head-column-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/head-column.svg);
}

.head-sets-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/head-sets.svg);
}

.head-support-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/head-support.svg);
}

.head-news-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/head-news.svg);
}

.head-fair-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/head-fair.svg);
}

.service-icon {
  text-align: center;
}
.top-link-process-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/top-link-process.svg);
    margin-right: 6px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 70%;
    height: auto;
  margin-left: -5px;
}
.top-link-service-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/top-link-service.svg);
    margin-right: 6px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 60%;
    height: auto;
  margin-left: -5px;
  margin-top: 10px;
}
.top-link-limit-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/top-link-limit.svg);
    margin-right: 6px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 60%;
    height: auto;
  margin-left: -5px;
  margin-top: 10px;
}
.top-link-set-svg {
    background-image: url(https://ryokuyou.co.jp/images/common/top-link-set.svg);
    margin-right: 6px;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 70%;
    height: auto;
  margin-left: -5px;
}
.svg-cell, .text-cell {
  float: left;
}
.text-cell {
	font-size: 18px;
	font-weight: bold;
}
.text-cell a {
text-decoration: none;
}
.nav-event-list, .misc-list {
  position: relative;
  display: block;
  width: 230px;
  height: auto;
  border-top: solid 8px #F0F8C6;
  border-bottom: solid 8px #F0F8C6;
  padding: 5px 0;
  margin-bottom: 10px;
}
.nav-event-list a:hover, .misc-list a:hover {
  text-decoration: underline;
}
.misc-list:before, .misc-list:after {
  position: absolute;
  content: "";  
  height: 10px;
}
.navi-event-item, .static-item, .misc-list .misc-item {
  position: relative;
  /*font-family : FOT-ニューセザンヌ Pro, "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
    line-height: 22px;
    margin: 3px;
    padding: 10px 10px;
    width: 210px;
    border-bottom: solid 1px #def28c;
  display: flex;
  align-items: center;
  background: #fff;
}
.navi-event-list a, .misc-list a {
	text-decoration: none;
}
#misc-list a:last-child .misc-item {
  border-bottom: none;
}
.misc-item:after {
  color: #006646;
  position: absolute;
  top: 36%;
  right: 4px;
  display: inline-block;
  margin-left: 1px;
  content: "";
  border-top: 0.4em solid transparent;
  border-right: 0;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid;
}
.navi-event-item span {
  font-size : 12px;
  margin-left: 3px;
  letter-spacing: -1px;
}
.navi-event-item .text-cell, .misc-item .text-cell, .static-item .text-cell {
  color: #006646;
}
.navi-event-item .text-cell:hover, .misc-item .text-cell:hover, .static-item .text-cell:hover, span.grid-text.tool-desc:hover {
  text-decoration: none;
}

  .navi-event-item .text-cell:after, .static-item .text-cell:after {
    position: absolute;
    right: 0;
    font-size: 22px;
    line-height: 19px;
    /* text-decoration: none; */
    vertical-align: middle;
    padding: 1px;
    content: "\25B8";
    color: #006646;
    /* opacity: 0.65; */
    margin: 1px;
}
div.event-numbers a {
	color: #39230d !important;
  }
  .event-numbers {
  position: relative;
	  flex-flow: row wrap;
	  display: -webkit-flex;
	  display: flex;
  font-weight: bold;
  }
  .event-number {
  flex: 0 1 calc(12% - 2px); /* max 8 across */
  background-image: url('https://ryokuyou.co.jp/images/common/openbook.svg');
  background-size: contain;
  background-repeat: no-repeat;
	margin: 0 10px 10px 10px;
	  max-width: 66px;
	  max-height: 42px;
	font-size: 12px;
	line-height: 42px;
	color: #000;
  }
  .event-numbers .text {
  display: inline-block;
  margin-left: 10px;
  }
  div.event-numbers .current-year a {
  color: #fff !important;
  }
  .current-year {
  color: #fff !important;
  background-image: url('https://ryokuyou.co.jp/images/common/openbook-active.svg');
  background-size: contain;
  background-repeat: no-repeat;
  }
  .bigger {
	font-size: 18px;
	margin: 1px;
  }
  .ribbon::before,
  .ribbon::after {
  box-sizing: content-box !important;
  }
.prevnext-container {
  position: relative;
}

.svg-col-style {
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 100%;
  margin: 8px;
}

.svg-row-style {
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 100%;
  height: auto;
  margin-top: 5px;
  /* margin-right: 10px; */
}

.svg-pos {
  display: flex;
  justify-content: center;
  align-items: end;
  height: 60px;
}

.set-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/book-icon.svg);
  margin-bottom: 0px;
}

.cal-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/navi-deadline.svg);
}

.opt-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/option-icon.svg);
}

.sale-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/sale-icon.svg);
}

.genkou-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/pen-icon.svg);
}

.event-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/event-icon.svg);
  /* opacity: 0.3; */
}

.calc-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon.svg);
  fill: #ff5a5a;
}

.quest-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/question-icon.svg);
}

.truck-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/navi-truck.svg);
  /* opacity: 0.3; */
  background-repeat: no-repeat;
  margin-right: 6px;
  margin-bottom: 2px;
  margin-left: -5px;
}

.box-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/box-icon.svg);
}

.rgb-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/rgb-icon.svg);
  margin-bottom: 4px;
}

.bookmark-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/bookmark-icon.svg);
}

.begin-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/begin-icon.svg);
  display: inline-block;
}

.info-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/info-icon.svg);
}

.pdf-svg {
  background-image: url(https://ryokuyou.co.jp/images/common/pdf-icon.svg);
}

.calc-svg-red {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon-red.svg);
}
.calc-svg-blue {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon-blue.svg);
}
.calc-svg-green {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon-green.svg);
}
.calc-svg-red-white {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon-red-white.svg);
}
.calc-svg-blue-white {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon-blue-white.svg);
}
.calc-svg-green-white {
  background-image: url(https://ryokuyou.co.jp/images/common/calc-icon-green-white.svg);
}
.ql {
  flex-basis: 50% !important;
}

.fb33 {
  flex-basis: 32% !important;
}

.fb66 {
  flex-basis: 66% !important;
}

h3.ql {
  font-size: calc(1.2rem + 0.3vw);
  line-height: 26px;
  color: #006646;
  font-weight: 600;
  display: table-cell;
  vertical-align: middle;
  height: 52px;
}

.icon-heading {
  position: relative;
  display: grid;
  grid-template-columns: 50px 170px 1fr;
  grid-template-areas:
    "signifier ."
    "signifier text"
    "signifier .";
  font-size: calc(1.2rem + 0.3vw);
  line-height: 1.25;
  justify-items: start;
  /* padding-top: 4px; */
}
.begin-bar .icon-heading {
  grid-template-columns: 34px 1fr;
}
.tool-icon-heading {
  display: grid;
  grid-template-columns: 50px 140px 1fr;
  grid-template-areas:
    "signifier ."
    "signifier text"
    "signifier .";
  font-size: calc(1.2rem + 0.3vw);
  line-height: 1.25;
  justify-items: center;
  /* padding-bottom: 4px; */
}
.signifier {
  display: grid;
  place-items: center;
  grid-area: signifier;
  min-height: calc(1.25 * 1em);
  display: flex;
  display: inline-flex;
  align-items: center;
}

.signifier svg {
  width: 2em;
  height: 2em;
  background-repeat: no-repeat;
  display: inline-flex;
  align-items: center;
}

.signifier svg.box-calc-svg, .signifier svg.spine-calc-svg, .signifier svg.navi-ink-svg, .signifier svg.navi-opt-svg {
  width: 3em;
  margin-top: 10px;
}

.grid-text {
  grid-area: text;
}

.begin-bar {
  padding: 1rem;
  color: white;
  background-color: #156b4d;
  border-radius: 8px;
  margin-bottom: 10px;
}

.faq-bar {
  padding: 1rem;
  color: #156b4d;
  background-color: #fff;
  border: solid 3px #156b4d;
  border-radius: 8px;
}

.center-margin {
  margin-left: 18vw;
  margin-right: 18vw;
}

.col-md-6 {
  width: 46% !important;
}

.bold600 {
  font-size: calc(1rem + 0.5vw);
  color: #000;
  font-weight: 600;
}

.bold700 {
  color: #000;
  font-weight: 700;
}

.black {
  color: #000;
  font-size: calc(1.2rem + 0.3vw);
}

.begin-text {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.faq-text {
  color: #156b4d;
  font-weight: 700;
}

.col-md-6-bg {
  width: 59% !important;
}

.col-md-6-sm {
  width: 41% !important;
}

.left {
  float: left;
}

.right {
  float: right;
}

.image33 {
  max-width: 32%;
}

.image50 {
  max-width: 49%;
}

.image100 {
  width: 99%;
}
.spine-calc-container, .box-calc-container {
  position: relative;
  border: solid 1px #c2dc5d;
  border-radius: 8px;
  background-color: #f8fce8;
  padding: 4px;
  margin-bottom: 10px;
}
.spine-calc-container .tool-desc, .box-calc-container .tool-desc {
  color: #555555;
  font-size: 16px;
  font-weight: bold;
}
.spine-calc-container .tool-desc::after, .box-calc-container .tool-desc::after {
position: absolute;
top: 28px;
right: 10px;
display: inline-block;
margin-left: 1px;
content: "";
border-top: 0.4em solid transparent;
border-right: 0;
border-bottom: 0.4em solid transparent;
border-left: 0.4em solid;
}

/* Main Visual Section */
#hp-slider-wrapper {
  display: block;
  position: relative;
  width: 800px;
  height: 460px;
}

#hp-main_visual {
  display: block;
  position: relative;
  width: 800px;
  height: 376px;
  text-align: center;
  overflow: hidden;
  border: 1px solid #e8e8e8;
}
#hp-main_visual .hp-panel {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  /* width: 100%; */
  /* height: 100%; */
  transition: opacity 0.5s ease;
  opacity: 0;
  cursor: pointer;
}

#hp-main_visual .hp-panel.active {
  display: block;
  opacity: 1;
}

.hp-panel {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease;
  opacity: 0;
}

.hp-panel.active {
  display: block;
  opacity: 1;
}

/* Thumbnail Scrolling Section */
.hp-slide_menu {
  overflow: hidden; /* Hide overflowing thumbnails */
  margin-top: 10px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}
.hp-filmstrip-wrapper {
    overflow: hidden;
}
.hp-filmstrip {
  display: flex;
  gap: 10px; /* Space between thumbnails */
  white-space: nowrap; /* Prevent wrapping */
  transition: transform 0.5s linear; /* Smooth scrolling */
}

.hp-thumbnail {
  flex: 0 0 auto;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.3s ease;
}

.hp-thumbnail.active {
  border-color: #007bff; /* Highlight active thumbnail */
}

.hp-thumbnail img {
  width: 95px;
  height: 50px;
  object-fit: cover;
}
.hp-panel .triangle-overlay {
  position: absolute;
  bottom: 50%; 
  right: 1%; 
  width: 0;
  height: 0;
  opacity: 0.7;
  border-top: 12px solid transparent; 
  border-bottom: 12px solid transparent;
  border-left: 15px solid rgba(0, 0, 0, 0.6); 
}
.catchcopy {
    font-size: 18px;
    font-weight: normal;
}

#banner {
  border-top: none;
  padding-top: 10px;
  margin-top: 5px;
}
.bdr {
  position: relative;
  z-index: 0;
}

.bdr::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: -30px;
  width: 40%;
  height: 0;
  border: 10px solid #00614e;
  border-radius: 10px;
  margin: 0 1%;
}

.noLine {
  text-decoration: none;
}
.reasons {
  display: none;
}
#confidence_t {
  display: none;
}
.service-container {
  display: flex;
}
.service-container .service-item .icon::after {
  display: inline-block;
    margin-left: 0.5em;
    content: "";
    border-top: 0.4em solid transparent;
    border-right: 0;
    border-bottom: 0.4em solid transparent;
    border-left: 0.4em solid;
  }
.service-container .service-item {
  width: 165px;
  height: 165px;
  border: 1px solid green;
  border-radius: 10px;
  padding: 10px;
  margin-right: 20px;
}
.service-container .service-item.last {
  margin-right: 0;
}
.service-container .service-item .title {
  border-radius: 50px;
  border: 1px solid green;
  background: green;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  padding: 8px;
}
.service-container a {
  text-decoration: none;
}
.service-item .icon > svg {
  width: 80px;
  height: 80px;
  margin-bottom: 10px;
}
.course-buttons > p {
  color: #000;
  font-size: calc(1.1rem + 0.3vw);
  font-weight: 700;
}

.course-buttons > h3.mb-0 {
  color: #000;
  font-weight: 700;
}

.course-text {
  padding-left: 5px;
}
.course-flex-container {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
position: relative;
align-items: start;
margin-top: 1rem;
margin-bottom: 0.5rem;
}

.flex-items {
display: inline-block;
flex: 1 0 auto;
align-self: center; 
}
.flex-items-svg {
display: inline-block;
flex: 0 0 auto;
width: 34px;
height: 34px;
/* margin-top: 6px; */
margin-right: -5px;
}

.title-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.title-item {
    /* width: 19%; */
    margin-right: 5px;
    text-align: center;
}
.title-item a {
    display: block;
    padding: 8px 18px;
    border: 1px solid #006647 !important;
    color: #006647 !important;
    font-weight: bold;
    border-radius: 100px;
    text-decoration: none;
    margin: 6px;
    padding-top: 11px;
}
.title-item a:hover {
    background-color: #006647 !important;
    color: #fff !important;
}
.twoline {
display: flex; 
align-items: center;
}

.course-name {
  font-size: 1em;
  font-weight: 600;
  line-height: 1em;
  color: #fff;  
}
.course-quote {
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1.3em;
  color: #fff;
}
.course-desc {
  background: #fff;
  border-radius: 50px;
  text-align: center;
  width: 100%;
  font-weight: 600;
}
.redbg {
  background: #FF677D;
  border: solid 2.5px #FF4545;
  border-radius: 8px;
  margin-right: 4px;
}
.redbg .course-name, .redbg .course-quote {
  text-shadow: 0px 0px 10px #B60000FF;
}
.redbg .course-desc {
  color: #FF677D;
}
.bluebg {
  background: #00ACDD;
  border: solid 2.5px #006CDD;
  border-radius: 8px;
  margin-left: 4px;
}
.bluebg .course-name, .bluebg .course-quote {
  text-shadow: 0px 0px 10px #005DBEFF;
}
.bluebg .course-desc {
  color: #00ACDD;
}
.greenbg {
  background: #57CF00;
  border: solid 2.5px #009A00;
  border-radius : 8px;
}
.greenbg .course-name, .greenbg .course-quote {
  text-shadow: 0px 0px 10px #007200FF;
}
.greenbg .course-desc {
  color: #57CF00;
}
.beginner {
  width: 100%;
  color: #fff;
  background-color: #1b8962;
  font-weight: 700;
  font-size: calc(1.6rem + 0.3vw);
  /* padding: 12px 16px; */
  /* margin: 4px; */
  cursor: pointer;
}
.custom-button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: #f9f9f9;
  border: 2px solid #ccc;
  border-radius: 8px;
  padding: 8px 4px;
  font-weight: bold;
  /* width: 206px; */
  margin-bottom: 10px;
}

.button-row {
  display: flex;
  align-items: baseline;
  width: 100%;
  height: 80px;
  margin-bottom: 5px;
  margin-top: -5px;
}

.custom-button.button-group {
  display: flex;
  gap: 2px;
  flex-direction: column;
  margin-right: 10px;
  line-height: 16px;
  vertical-align: middle;
}

.button-group>div>span {
  text-shadow: 2px 1px 1px rgba(0, 0, 0, 0.5);
}

.button-section {
  padding: 4px 7px 2px;
  border-radius: 50px;
  color: white;
  font-size: 12px;
  text-align: center;
}

.button-section.estimate {
  background-color: #E84362;
}

.button-section.order {
  background-color: #5295CB;
}

.button-section.payment {
  background-color: #FF9620;
}
.text-group {
  text-align: center;
}

.chumon-text {
  color: #595959;
  font-size: 11.5px;
  line-height: 42px;
}

.mypage-text {
  background-image: url(https://ryokuyou.co.jp/images/common/ryoku-mypage.svg);
  width: 160px;
  height: auto;
  max-width: fit-content;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
}
.new-register {
  background-color: #105B38; /*#519066;*/
  color: #fff;
  border-radius: 50px;
  text-align: center;
  padding: 2px;
}

.sen-off {
  position: relative;
color: #F2CD54;
}
.sen-off::after {
  position: absolute;
  top: 5px;
  right: -10px;
  color: #fff;
    display: inline-block;
    margin-left: 10px;
    content: "";
    border-top: 0.4em solid transparent;
    border-right: 0;
    border-bottom: 0.4em solid transparent;
    border-left: 0.4em solid;
}
.description {
  text-align: left;
  width: 100%;
  font-size: 12px;
  color: #666;
}
.consult-flex-container {
  border: solid 2px #5252ad;
  border-radius: 8px;
  text-align: center;
  margin: 10px 0px;
}
.consult-flex-container .flex-items {
  padding: 8px 4px;
}
.consult-name {
  font-size: 18px;
  font-weight: bold;
  color: #5252ad;
}
.consult-desc {
font-size: 13px;
color: #5252ad;
}
.consult-desc::after {
display: inline-block;
  margin-left: 0.5em;
  content: "";
  border-top: 0.4em solid transparent;
  border-right: 0;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid;
}
.goods-site {
  border: solid 2px #ffbc00;
  border-radius: 8px;
  margin: 10px 0px;
  background: #fffbdf;
}
.goods-site .row1 {
justify-content: center;
align-items: center;
}
.row1 .goods-icon {
background-color: #508E63;
border-radius: 50%; 
width: 30px; 
height: 30px;
margin-right: 10px;
}
.goods-text {
  font-size: 18px;
  font-weight: bold;
  color: #754d12;
  padding: 8px 2px;
  width: 150px;
}
.goods-text::after {
  position: absolute;
  right: 8px;
  top: 25px;
  display: inline-block;
  margin-left: 28px;
  content: "";
  border-top: 0.4em solid transparent;
  border-right: 0;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid;
}
/* Darker background on mouse-over */
.beginner:hover {
  background-color: #156b4d;
}

.begin-outline {
  /* border: solid 1px #1b8962; */
  /* border-radius: 20px; */
  display: flex;
}

.begin-outline h3 {
    color: #fff;
    /* background-color: #1b8962; */
    font-weight: 700;
    font-size: calc(1.6rem + 0.3vw);
}

.big-service-container {
    border: solid 2px #ccc;
    border-radius: 8px;
    padding: 8px 4px;
    margin-bottom: 10px;
    font-weight: bold;
}
.big-service-container .bs-row {
    display: flex;
    position: relative;
}
.bs-row.bs-row-33 {        
    margin-top: 6px;
}
.bs-row.bs-row-16 {
    padding-left: 0;    
    align-items: center;    
    margin-top: 2px;
    max-height: 42px;
}
.bs-row.bs-row-16:after {
    position: absolute;
    top: -5px;
    right: 0;
    display: inline-block;
    margin-left: 1px;
    content: "";
    border-top: 0.6em solid transparent;
    border-right: 0;
    border-bottom: 0.6em solid transparent;
    border-left: 0.6em solid;
}
.big-service-container .bs-row-100 .box {
    flex: 1 0 100%;
    text-align: center;
    box-sizing: border-box;
}

.big-service-container .bs-row-33 .box {
    flex: 1 0 33.3333%;
    padding: 1px;
    text-align: center;
    box-sizing: border-box;
}

.big-service-container .bs-row-16 .box {
    flex: 1 0 15%;
    padding: 1px;
    text-align: left;
    box-sizing: border-box;
}
.big-service-container .title {
  color: #588476;
  font-size: 11px;
  font-weight: bold;
}
.big-service-container .value, .big-service-container .value-narrow {
  color: #DE4E4E;
  font-size: 36px;
  letter-spacing: -4px;
  margin-top: 2px;
}
.value-narrow {
  flex: 1 0 9% !important;
}
.big-service-container .desc {
  color: #588476;
  text-align: center;
  font-size: 12px;
  border-right: solid 1px #588476;
  margin-right: 3px;
}
.big-service-container .desc:last-of-type {
  border-right: none;
}
.big-service-container .bs-head-text {
  background-color: #ffcc00;
  border-radius: 50px;
  color: #333;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 23px;
  padding-top: 2px;
  margin-bottom: 1px;
}

.big-service-container .big {
  color: #DB5454;
}

.big-service-container .flex-container {
  display: flex;
justify-content: space-between;
margin-top: 2px;
}

.big-service-container .flex-item {
  display: flex;
justify-content: space-between;
margin-top: 2px;
  text-align: center;
}
.col-md-3.nav_btn_3 {
    margin: 0;
    padding: 10px;
}
.chirashi-outline {
  border: solid 2px #ff5a5a;
  border-radius: 2px;
}

.chirashi-bar {
  padding: 1rem 3vw;
  color: #ff5a5a;
  background-color: #fff;
  border: solid 2px #ff5a5a;
  border-radius: 8px;
}

.chirashi-text {
  color: #ff5a5a;
  font-weight: 700;
  font-size: calc(1.2rem + 0.3vw);
}

.goods-outline {
  border: solid 1px #ff5a5a;
  border-radius: 50px;
}

.goods-outline h3 {
  color: #ff5a5a;
  font-weight: 700;
  font-size: calc(1.2rem + 0.3vw);
  /* text-decoration: none; */
}

.goods-outline h3::after,
.begin-outline h3::after,
.chirashi-outline h3::after,
.begin-text::after {
  display: inline-block;
  margin-left: 0.5em;
  content: "";
  border-top: 0.4em solid transparent;
  border-right: 0;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid;
}

h3.green {
  font-size: calc(1.2rem + 0.3vw);
  font-weight: 700;
  line-height: 28px;
  color: #00614e;
}

.green {
  color: #00614e;
}

.text-right {
  text-align: right;
}

#campaign-container #fair_being_t ul {
  width: 820px;
}

#campaign-container #fair_being_t li {
    float: left;
    margin: 0 5px 5px 0;
    max-width: 200px;
}

p.green-border {
  border: solid 4px #00614e;
  border-radius: 8px;
  line-height: 0px;
  width: 100%;
}

p.green-border::after {
  content: "\25B8";
  /* right triangle */
  color: #fff;
  padding-left: 94%;
  max-width: 90%;
  font-size: 8px;
  padding-bottom: 1px;
}

#pointer {
  width: 90%;
  height: 8px;
  position: relative;
  background: #00614e;
  border-bottom-left-radius: 50px;
  border-top-left-radius: 50px;
}

#pointer:before {
  content: "";
  position: absolute;
  right: -4px;
  bottom: 0;
  width: 0;
  height: 0;
  border-left: 4px solid #00614e;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.quality {
  border: solid 2px #00614e;
  border-radius: 8px;
}

.grey {
  color: #b3b3b3;
}

.lt-green {
  color: #2ea521;
}

social.row-cols-3>* {
  width: 33.3333% !important;
}

.row-cols-3.nar>* {
  width: 31.5% !important;
}

.useful-cont {
  justify-content: space-between;
  padding-right: 0;
}

.useful-green {
  color: #00614e;
  border: solid 3px #00614e;
  border-radius: 8px;
}

.useful-green>h3 {
  color: #00614e;
  font-weight: 700;
  font-size: calc(1.1rem + 0.1vw);
  line-height: 24px;
  margin-top: 8px;
}

.useful-black {
  color: #404040;
  border: solid 3px #404040;
  border-radius: 8px;
}

.useful-black>h3 {
  color: #404040;
  font-weight: 700;
  font-size: calc(1.1rem + 0.1vw);
  line-height: 24px;
  margin-top: 8px;
}

.yel-bgd {
  background: #fffcd7;
}

.bx-wrapper {
  margin: 0 auto 10px !important;
}

#sales-calendar-wrapper * {
  font-family:
    "Noto Sans JP",
    /* Preferred web font */
    "Hiragino Kaku Gothic ProN",
    /* macOS */
    "Meiryo",
    /* Windows */
    "Yu Gothic",
    /* Modern Windows fallback */
    "MS PGothic",
    /* Legacy fallback */
    sans-serif;
}

#sales-calendar-wrapper {
  width: 100%;
  max-width: 218px;
  height: 320px;
  margin: auto;
  text-align: center;
  padding: 5px;
  font-weight: bold;
  background-color: #F8FCE8;
  border: 1px solid #c2dc5d;
  border-radius: 6px;
  margin-bottom: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#sales-calendar {
  max-width: 210px;
  height: 248px;
  margin: auto;
  text-align: center;
  font-weight: bold;
}

#sales-calendar p {
  font-weight: bold;
  margin: 0;
  padding: 5px 0;
  font-size: 16px;
  font-weight: bold;
  color: #333;
}
#sales-calendar-wrapper #sales-calendar-header {
  background-color: #c2dc5d;
  border: 1px solid #a9c645;
  border-radius: 2px;
  padding: 5px;
  font-size: 14px;
  font-weight: bold;
  line-height: 18px;
  margin-bottom: 6px;
}
#sales-calendar #calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

#sales-calendar #calendar-header button {
  background-color: #c2dc5d;
  color: #fff;
  border: 1px solid #a9c645;
  border-radius: 2px;
  padding: 5px;
  font-size: 14px;
  font-weight: bold;
  cursor: default;
}

#sales-calendar #calendar-header button:hover {
  background-color: #a9c645;
}

#sales-calendar #calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  font-weight: bold;
  max-height: 209px;
}

#sales-calendar .day-name {
  background-color: #eee;
  line-height: 27px;
  font-size: 12px;
  color: #333;
  font-weight: bold;
  border: 1px solid #ccc;
  border-radius: 2px;
  text-align: center;
}

#sales-calendar .day {
  background-color: #fff;
  line-height: 27px;
  font-size: 12px;
  font-weight: bold;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 2px;
  text-align: center;
  cursor: default;
}

#sales-calendar .day.event {
  color: #333;
  background-color: #f8e76d;
  border-color: #f5c500;
  cursor: default;
}

#sales-calendar #calendar-footer {
  margin-top: 10px;
  font-size: 14px;
  font-weight: bold;
  color: #333;
}
p.holiday {
  display: inline-flex;
  align-items: end;
  padding: 5px;
  font-size: 14px;
  font-weight: bold;
  line-height: 18px;
  color: #333;
  margin-bottom: 0;
	
}
p.holiday::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
  border: 1px solid #f5c500;
	background-color: #f8e76d;
	margin-top: 5px;
	margin-right: 5px;
	
}
/* Wrapper Styling */

.special-para-wrapper {
    position: relative;
    width: 100%;
    max-width: 800px; /* Adjust as needed */
    margin: 20px auto;
    overflow: hidden;
}

/* Background Image Styling */

.special-para-bgd img {
    width: 100%;
    height: auto;
    object-fit: cover;
    position: absolute;
    top: -205px;
    left: 0;
    z-index: 1; /* Place behind the text */
}

/* Text Content Styling */

.special-para {
    position: relative;
    z-index: 2; /* Place above the image */
    color: white; /* Adjust based on image for contrast */
    text-align: center;
    padding: 20px;
}
.special-para {  
    background: rgba(0, 0, 0, 0.3); 
}
.quality-para{
  color: #1f110a;
    background: rgba(255, 255, 255, 0.4); 
}

.special-para {
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	}
/* --- Layout --- */
.quality-para-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 6px;           /* optional, for a softer edge */
  isolation: isolate;           /* keeps z-index layering predictable */
}

/* The background image layer */
.quality-para-bgd {
  position: absolute;
  width: 100%;
  max-width: 800px; 
  margin: auto;
  inset: 0;
  z-index: 0;
  background: center / cover no-repeat
    url("https://www.ryokuyou.co.jp/images/common/color-charts.webp");
}

/* 50% white overlay on top of the image */
.quality-para-bgd::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.5);
}

/* Hide the fallback <img> you placed inside .quality-para-bgd */
.quality-para-bgd > img {
  display: none;
}

/* The text block */
.quality-para {
  position: relative;
  z-index: 1;
  min-height: 200px;   
  width: 100%;
  max-width: 800px; 
  padding: 28px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  gap: 8px;
}


/* White blurred outline using layered text-shadow */
.quality-para .quality-head,
.quality-para .quality-body {
  color: #523d38; ;
  text-shadow:
    0 0 6px #fff,
    0 0 12px #fff,
    0 0 18px rgba(255,255,255,0.9);
}

/* Sizes (tune as desired) */
.quality-para .quality-head {
  font-size: clamp(20px, 3.2vw, 30px);
  font-weight: 600;
  letter-spacing: .05em;
  margin-bottom: 1px;
}

.quality-para .quality-body {
  font-size: clamp(13px, 1.8vw, 20px);
  line-height: 1.7;
}

/* Optional: make the “詳しく見る” line look like a CTA */
.quality-para .fontSize16 {
  font-weight: 600;
  text-underline-offset: 3px;
  cursor: pointer;
}
.quality-para .quality-head,
.quality-para .quality-body {
  text-shadow:
    /* faux stroke */
    1px 0   0 #fff, -1px 0   0 #fff,
    0   1px 0 #fff,  0  -1px 0 #fff,
    1px 1px 0 #fff, -1px 1px 0 #fff,
    1px -1px 0 #fff, -1px -1px 0 #fff,
    /* glow */
    0 0 6px  #fff,
    0 0 12px rgba(255,255,255,.95),
    0 0 20px rgba(255,255,255,.85);
}
.page_limit .container table.tb_style td {
    width: 60px;
}
/* Small screens: give a bit more vertical space */
@media (max-width: 480px) {
  .quality-para { min-height: 240px; }
}

.special-head {
	font-size: 32px;
	font-weight: bold;
  color: #fff;
	}
.special-body {
	font-size: 20px;
  color: #fff;
	}
.page-up-wrapper {
  position: relative;
  z-index: 99;
}
.page-up-button {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 70px;
  height: 70px;
  background-color: #006646;
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s ease;
  position: absolute;
  right: 100px;
  bottom: -34px;
}
.page-up-button:hover {
  background-color: #006646;
}
.page-up-text {
  margin-top: 7px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 18px;
}
#footer #footer_link ul a {
  background: none !important;
}
#footer #footer_link ul a:hover {
  background-image: none !important;
}
#footer #footer_ryokuyou p {
  font-size: 15px;
}
#footer #footer_link ul {
  background: none !important;
}
#footer #footer_link ul a {
    color: #006646;
}
#footer .input-group.me-3 {
  padding-left: 40px;
  max-width: 239px;
  margin-top: 36px;
}
.input-group input.form-control {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

.input-group button.btn {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}

.login-link, .contact-link {
  border: 1px solid #ccc;
  border-radius: 5px;
}

.login-link {
  padding: 8px;
}

.contact-link {
  padding: 12px;
}
#footer_ryokuyou {
  width: 1080px !important;
  display: flex;
  justify-content: space-between; 
  align-items: center; 
  padding: 10px;
  flex-wrap: wrap; 
}

.left_footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start; 
}

.h_left {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#footer .privacymark {
  float: right;
  margin-top: 0;
  margin-left: 20px;
}

.h_left img {
  margin-right: 10px; 
}

.right_footer {
  display: flex;
  flex-direction: column;
  align-items: center; 
  text-align: center;
}

.h_right {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px; 
}

.privacymark img {
  margin-top: 10px;
}

#set-show-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

#set-show-container .carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.set-show {
  display: flex;
  gap: 16px;
  padding: 16px;
  scrollbar-width: none; /* Hide scrollbar in Firefox */
  transition: transform 0.5s ease-in-out; 
  }

#set-show-container .carousel-prev,
#set-show-container .carousel-next {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.3);
  color: white;
  border: none;
  cursor: pointer;
  z-index: 1;
    font-size: 24px;
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

#set-show-container .carousel-prev {
  left: 10px;
}

#set-show-container .carousel-next {
  right: 10px;
}
.set-show .set-show-card {
  flex: 0 0 auto;
  width: 295px;
  border: 1px solid #e0e0e0;
  border-radius: 18px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background-color: #fff;
  height: 272px;
  }

.set-show.carousel-track a {
    text-decoration: none;
}

  #set-show-container .card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 15px;
  }

.card-header p {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 8px;
}

  #set-show-container .card-body {
  padding: 0 15px;
  }
  
  #set-show-container .badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  color: #fff;
  margin-bottom: 6px;
  }
  
  #set-show-container .badge.digital {
  background-color: #4caf50;
  }
  
  #set-show-container .badge.offset {
  background-color: #f06292;
  }
  
  #set-show-container .badge.special {
  background-color: #f5c500;
  }
  
  #set-show-container .description {
  font-size: 14px;
  color: #333;
  margin-bottom: 12px;
  letter-spacing: -0.2px;
  }

.view-all a {
  text-align: center;
  padding: 16px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  }
  
  #set-show-container .view-all a:hover {
  text-decoration: underline;
  }
#set-show-container::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 1));
}
  .top-news-block {
    border: 1px solid #ccc;
    padding: 16px;
    border-radius: 8px;
    background-color: #fff;
}

.top-news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.top-news-list {
  overflow: auto;
  height: 130px;
}

.top-news-item {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    border-bottom: solid 1px #ccc;
    padding: 10px;
}

.top-news-item:last-child {
    margin-bottom: 0;
}

.top-news-date {
    flex-shrink: 0;
    margin-right: 8px;
    font-size: 14px;
    color: #333;
}

.top-news-category {
    flex-shrink: 0;
    margin-right: 8px;
    padding: 2px 8px;
    font-size: 12px;
    color: #fff;
    border-radius: 4px;
}

.top-news-link {
    flex-grow: 1;
    font-size: 14px;
    color: #333;
    text-decoration: none;
}

.top-details-link {
    flex-shrink: 0;
    font-size: 14px;
    color: #3399ff;
    text-decoration: none;
}

.top-details-link:hover {
    text-decoration: underline;
}

.top-news-footer {
    margin-top: 16px;
    text-align: center;
}

.view-all-link {
    font-size: 14px;
    color: #3399ff;
    text-decoration: none;
}

.top-news-category.nt01 { background: #2898be; color: #fff; }
.top-news-category.nt02 { background: #ff9b00; color: #fff; }
.top-news-category.nt03 { background: #9acd32; color: #fff; }
.top-news-category.nt04 { background: #ff0000; color: #fff; }
.top-news-category.nt05 { background: #8b4513; color: #fff; }
.top-news-category.nt06 { background: #8a2be2; color: #fff; }
.top-news-category.nt07 { background: #a9a9a9; color: #fff; }
.top-news-category.nt08 { background: #8b4513; color: #fff; }
.top-news-category.nt09 { background: #dc143c; color: #fff; }
.top-news-category.nt10 { background: #008000; color: #fff; }

.view-all-link:hover {
    text-decoration: underline;
}
.top-head-fair, .top-head-sets, .top-head-news, .top-head-column, .top-head-links {
  color: #006646;
  font-weight: bold;
  font-size: 18px;
  line-height: 30px;
}
#fair_being_t h3 {
  display: none;
}

.tsutamonda {
  width: 300px;
  height: 168px;
}
/**
   * BxSlider v4.1.2 - Fully loaded, responsive content slider
   * http://bxslider.com
   */

/** RESET AND LAYOUT
  ===================================*/

.bx-wrapper {
  max-width: 90% !important;
  position: relative;
  margin: 0 auto 60px;
  padding: 0;
  *zoom: 1;
}

.bx-wrapper img {
  max-width: 90%;
  display: block;
}

/** THEME
  ===================================*/

.bx-wrapper {
  /*.bx-viewport {*/
  -moz-box-shadow: 0 0 5px #ccc;
  -webkit-box-shadow: 0 0 5px #ccc;
  box-shadow: 0 0 5px #ccc;
  border: 5px solid #fff;
  /* left: -5px; */
  background: #fff;
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
  -moz-transform: translatez(0);
  -ms-transform: translatez(0);
  -o-transform: translatez(0);
  transform: translatez(0);
}
/** set pages **/
.page_set_detail h2 {
    text-align: center;
}
ul#topicPath {
    margin-left: 30px;
}
.banner_slide {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.banner_slide, .banner_slide ul {
  text-align: center;
}
ul.thumbs {
    padding-left: 0px;
    padding-top: 10px;
}
table.op h3 {
    font-size: 15px;
}
.option_list {
  width: 800px;
  column-gap: 20px;
}
/** option pages **/
.page_campaign_detail h2 {
    text-align: center;
}
.modal-offset ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all,
#optionPage #PliceList1 ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all, 
#optionPage #offset #PliceList2 ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all, 
#optionPage #offset #PliceList3 ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all 
{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff697a+0,ff697a+50,ffa3ac+51,ffa3ac+100 */
	background: linear-gradient(to top,  #ff697a 0%,#ff697a 50%,#ffa3ac 51%,#ffa3ac 100%) !important;
	border: solid 1px #ffa3ac;
}
.modal-digital ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all,
#optionPage #PliceList2 ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all, 
#optionPage #digital #PliceList1 ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all, 
#optionPage #digital #PliceList4 ul.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all 
{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#97d91b+0,97d91b+50,b4d86c+51,b4d86c+100 */
	background: linear-gradient(to top,  #97d91b 0%,#97d91b 50%,#b4d86c 51%,#b4d86c 100%) !important; 
	border: solid 1px #b4d86c;
}

.modal-offset .ui-state-active a, 
.modal-offset .ui-state-active a:link, 
.modal-offset .ui-state-active a:visited, 
#optionPage #PliceList1 .ui-state-active a, 
#optionPage #PliceList1 .ui-state-active a:link, 
#optionPage #PliceList1 .ui-state-active a:visited, 
#optionPage #offset #PliceList2 .ui-state-active a, 
#optionPage #offset #PliceList2 .ui-state-active a:link, 
#optionPage #offset #PliceList2 .ui-state-active a:visited, 
#optionPage #offset #PliceList3 .ui-state-active a, 
#optionPage #offset #PliceList3 .ui-state-active a:link, 
#optionPage #offset #PliceList3 .ui-state-active a:visited 
{
	color: #FF3D50;
	text-decoration: none;
}
.modal-digital .ui-state-active a, 
.modal-digital .ui-state-active a:link, 
.modal-digital .ui-state-active a:visited,
#optionPage #PliceList2 .ui-state-active a,
#optionPage #PliceList2 .ui-state-active a:link, 
#optionPage #PliceList2 .ui-state-active a:visited,
#optionPage #digital #PliceList1 .ui-state-active a, 
#optionPage #digital #PliceList1 .ui-state-active a:link, 
#optionPage #digital #PliceList1 .ui-state-active a:visited,
#optionPage #digital #PliceList4 .ui-state-active a, 
#optionPage #digital #PliceList4 .ui-state-active a:link, 
#optionPage #digital #PliceList4 .ui-state-active a:visited {
	color: #90D800;
	text-decoration: none;
}
.modal-offset .ui-state-active, 
.modal-offset .ui-widget-content .ui-state-active, 
.modal-offset .ui-widget-header .ui-state-active,
#optionPage #PliceList1 li.ui-state-default.ui-corner-top,
#optionPage #PliceList1 .ui-state-active, 
#optionPage #PliceList1 .ui-widget-content .ui-state-active, 
#optionPage #PliceList1 .ui-widget-header .ui-state-active,
#optionPage #offset #PliceList2 .ui-state-active, 
#optionPage #offset #PliceList2 .ui-widget-content .ui-state-active, 
#optionPage #offset #PliceList2 .ui-widget-header .ui-state-active,
#optionPage #offset #PliceList3 .ui-state-active, 
#optionPage #offset #PliceList3 .ui-widget-content .ui-state-active, 
#optionPage #offset #PliceList3 .ui-widget-header .ui-state-active { 
	border: 1px solid #FF3D50;
}
.modal-digital .ui-state-active, 
.modal-digital .ui-widget-content .ui-state-active, 
.modal-digital .ui-widget-header .ui-state-active,
#optionPage #PliceList2 .ui-state-active, 
#optionPage #PliceList2 .ui-widget-content .ui-state-active, 
#optionPage #PliceList2 .ui-widget-header .ui-state-active,
#optionPage #digital #PliceList1 .ui-state-active, 
#optionPage #digital #PliceList1 .ui-widget-content .ui-state-active, 
#optionPage #digital #PliceList1 .ui-widget-header .ui-state-active,
#optionPage #digital #PliceList4 .ui-state-active, 
#optionPage #digital #PliceList4 .ui-widget-content .ui-state-active, 
#optionPage #digital #PliceList4 .ui-widget-header .ui-state-active {
	border: 1px solid #90D800;
}
.ui-state-default a:link 
{
	color: #999;
	text-decoration: none;
}	
@media all and (max-width: 480px) {
  .bx-wrapper {
    width: calc(100% - 20px) !important;
    /* 97%; */
  }
}

.showoffCarousel {
  /* width: 100%; */
  margin: 0 auto;
}

.showoffCarousel .item {
  float: left;
  text-align: center;
  margin: 0 auto;
  padding: 10px 5px;
}

.showoffCarousel .item:last-of-type {
  width: 34%;
}

.showoffCarousel .item img {
  display: block;
  text-align: center;
  margin: 0 auto;
  max-width: 99%;
}

.showoffCarousel .item p {
  text-align: center;
  padding: 6px;
  font-size: 0.9rem;
  color: #483f33;
}

.showoffCarousel .item p:hover {
  opacity: 0.7;
}

.showoffCarousel .ichiran {
  display: block;
  text-align: right;
  font-size: calc(1.2rem + 0.3vw);
}

@media only screen and (max-width: 480px) {
  .showoffCarousel {
    margin-left: 10px;
  }

  .showoffCarousel .item {
    margin-right: 0 !important;
  }

  .showoffCarousel .item:nth-of-type(5) {
    width: 29%;
  }

  .showoffCarousel .item:nth-of-type(6) {
    width: 31%;
  }
}

@media only screen and (max-width: 320px) {
  .showoffCarousel .item {
    width: 29%;
  }

  .showoffCarousel .item:last-of-type {
    width: 34%;
  }
}

* {
  margin: 0px;
  padding: 0px;
}

html {
  overflow-y: scroll;
  overflow-x: hidden;
}

html,
body {
  width: 100%;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: underline;
}

a.noUline {
  text-decoration: none;
}

/* a:link {
  color: #1754B0;
} */

a:active {
  color: #1754B0;
}

a:visited {
  color: #1754B0;
}

/*ClearFix*/
.clearfix:after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  content: ".";
  zoom: 1;
}

/*------------------------------------------------------------------------ */
/* --- structure section -------------------------------------------------- */

@media screen and (max-width: 639.9px) {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  body,
  html,
  p,
  li,
  dt,
  dd,
  pre,
  form,
  fieldset,
  em {
    margin: 0;
    padding: 0;
    line-height: 1.6;
    /* font-family: "メイリオ", "ＭＳ Ｐゴシック", Osaka, sans-serif; */
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    color: #555;
  }
  
  ul,
  ol,
  dl,
  img {
    margin: 0;
    padding: 0;
  }
  
ol,
ul {
  padding-left: 1rem;
}
  ul,
  ol {
    list-style-type: none;
  }
  
  table {
    border-collapse: collapse;
    border: 0px;
    table-layout: fixed;
  }
  
  img {
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    font-size: 0%;
    line-height: 0%;
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
  }
  
  img.noscale {
    width: auto !important;
  }

#header #h_box,
#header #h_top div.h_top_box,
#gnav ul.dropdown,
#main,
#footer .footer_box,
#all_internet a {
  clear: both;
  width: 90%;
  margin: 0px auto;
}

#wrapper {
  min-height: 100%;
  margin: 0px auto;
  position: relative;
}

#snav {
  /* right or left nav space*/
  clear: both;
  /*width: 100%;*/
  margin: 0 10px;
  padding-top: 10px;
}

#footer {
  /* full width*/
  padding-top: 40px;
  background-color: #fff !important;
}
.h_left {
  overflow: hidden;
  clear: both;
  width: 100%;
  margin: 0 auto;
}

/* ------ main ------- */
#main_warp {
  padding-top: 5px;
}

.left {
  display: inline;
  float: left;
}

.right {
  display: inline;
  float: right;
}

#ctrl_calendar {
  margin-left: 4px;
}

#ctrl_calendar .ui-datepicker th {
  padding: 0;
}

/******************************************************************************
   * フッター
   *****************************************************************************/
.page_up {
  z-index: 5;
  height: auto;
  overflow: hidden;
  border-bottom: solid 1px #ccc;
  margin: 30px auto 15px;
}

.page_up a {
  display: block;
  width: 60px;
  float: right;
}
#footer #footer_link ul {
  float: left;
  background: none !important;
  border-left: none !important;
}
#tel_area {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 15px;
}

#tel_area .f_tel img {
  vertical-align: top;
}

#tel_area .icon {
  width: 20%;
  float: left;
}

#tel_area .txt a:link {
  color: #000;
}

#tel_area .time {
  display: block;
}

#tel_area .tel_num {
  display: inline;
  font-weight: bold;
  font-size: 18px;
  color: #000;
}

#tel_area dl,
dt,
dd {
  display: inline;
}

.f_login .f_contact {
  font-weight: bold;
}

.addr {
  text-align: center;
}

.addr .c_name {
  font-size: 25px;
  font-weight: bold;
  color: #006646;
}

#snav .f_txt {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 20px;
  text-align: center;
  font-size: medium;
}

#pc_version {
  background: #006646;
  /*#9EDD2B;*/
  margin: 15px 0;
  padding: 3% 0;
  /* W*0.04 ≒25px ～ 前後のボタンが比率で大きくなるので、大きい画面ほどpadding 値大きめに*/
  text-align: center;
  /*border-radius: 4px;*/
}

#pc_version a {
  font-size: 18px;
  color: #fff;
}

.c_data {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.clearfix {
  display: block;
}

.clearfix::after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  content: ".";
  zoom: 1;
  margin-bottom: 5px;
}

h1, h2, h3, h4, h5, h6, body, html, p, li,dt,
dd, pre, form, fieldset, em {
  /* margin: 0; */
  /* margin-bottom: 0px; */
  /* padding: 0; */
  line-height: 1.7;
  /* font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", */
    sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 15px;
  color: #555;
}

/*break point 640px以下の端末で */

  #header #h_box,
  #header #h_top div.h_top_box,
  #gnav ul.dropdown,
  #main,
  #footer .footer_box,
  #all_internet a {
    width: 96%;
  }

  h1>img,
  h2>img,
  h3>img,
  h4>img,
  h5>img,
  h6>img {
    width: 100%;
    height: auto;
  }

  #main {
    /* with in #content & #snav */
    margin: 0px auto 15px auto;
  }

  #content {
    /* as main content */
    width: 100%;
    position: relative;
  }

  #logo img,
  #offset-logo img {
    max-width: 100%;
    height: auto !important;
  }

  .head-user img,
  .head-mail img,
  .head-tel img {
    max-width: 80%;
    height: auto !important;
  }

  #icons {
    max-width: 48%;
  }

  div#icons li.nav-item {
    text-align: center;
    width: 100%;
  }
}
/* test */

/* /test */

@media all and (min-width: 1000px) {
  
  nav {
    clear: both;
    /* width: 1080px; */
    margin: 0px auto;
}
nav, .navbar, .navbar-nav {
  /* background-color: #fff !important; */
  margin: auto;
}
ul.nav.navbar-nav {
  padding: 0 15px;
}
  ol, ul {
    padding-left: 0.1rem;
}
  .navwrap.shrink {
    position: fixed;
    top: 32px;
    /* left: 0; */
}
.move-menu {  
  position: fixed;
  top: 32px;
}
.container-fluid {
  padding-right: 0;   	
  padding-left: 0;
  z-index: 999;
}
li.dropdown {
  padding: 1px 0;
  /* border-bottom: solid 1px #1754B0; */
  font-size: 15px;
}
.login {
  font-size: 13px;
  line-height: 20px !important;
}
.slick-slide img {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
}
  #logo {
    float: left;
    width: 40%;
    margin-top: -1px;
  }

  #search-tel {
    float: right;
    width: 44%;
  }

  .mag-glass {
    position: absolute;
    top: 48px;
    right: 538px;
  }

  #icons {
    float: right;
    width: 45%;
    margin-left: 22px;
  }
}
div.event-numbers a {
  color: #39230d !important;
}
.event-numbers {
position: relative;
    flex-flow: row wrap;
    display: -webkit-flex;
    display: flex;
font-weight: bold;
}
.event-number {
flex: 0 1 calc(12% - 2px); /* max 8 across */
background-image: url('https://www.ryokuyou.co.jp/images/common/openbook.svg');
background-size: contain;
background-repeat: no-repeat;
  margin: 0 10px 10px 10px;
    max-width: 66px;
    max-height: 42px;
  font-size: 12px;
  line-height: 42px;
  color: #000;
}
.event-numbers .text {
display: inline-block;
margin-left: 10px;
}
div.event-numbers .current-year a {
color: #fff !important;
}
.current-year {
color: #fff !important;
background-image: url('https://www.ryokuyou.co.jp/images/common/openbook-active.svg');
background-size: contain;
background-repeat: no-repeat;
}
.bigger {
  font-size: 18px;
  margin: 1px;
}
.ribbon::before,
.ribbon::after {
box-sizing: content-box !important;
}
@media all and (max-width: 480px) {
.event-number {flex: 0 1 calc(24% - 2px); /* max 3 across */}
}
*, ::after, ::before {
  box-sizing: unset !important;
}
h1,
h2,
h3,
h4,
h5,
h6,
body,
html,
p,
li,
dt,
dd,
pre,
form,
fieldset,
em {
  font-family:
    "Noto Sans JP",
    /* Preferred web font */
    "Hiragino Kaku Gothic ProN",
    /* macOS */
    "Meiryo",
    /* Windows */
    "Yu Gothic",
    /* Modern Windows fallback */
    "MS PGothic",
    /* Legacy fallback */
    sans-serif;
  /* font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
}
div#footer_link {
    background: #F8FCE8 !important;
}

@media all and (max-width: 1113px) {
  #main {
    width: 1050px !important;
  }
  #content {
    width: 750px;
  }
a.dropdown-toggle, a.dropdown-link {
  padding: 4px 8px 6px 8px;
}
div#header {
  width: 1000px;
}
.month-btn {
    padding: 6px 6px;
 }
}

@media (max-width: 913px) {
ul.nav.navbar-nav.glnav {
  padding: 0 10px;
}
}
/*  
@media (min-width: 1024px) {
  .small-width {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .large-width {
    display: none !important;
  }
} */