/*
Theme Name: IBC Publishing
Description: IBCパブリッシング 公式テーマ
Author: RNF
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/bootstrap-icons.css");

body{
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  color: #333;
}

a {
  text-decoration: none;
    color: #a72126;
}

a:hover {
  text-decoration: none;
    color: rgba(167, 33, 38, 0.623);
}

/*------------
  utilities
------------*/

.btn-link:hover{
  color: #2c2c2c;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus {
  color: #ffffff;
  background: #a72126;
  border-color: #a72126;
}
.btn-primary:disabled {
  background: #a94442;
  border-color: #a94442;
}

.btn-accent,
.btn-accent:hover,
.btn-accent:focus {
  color: #ffffff;
  background: #003557;
  border-color: #003557;
}
.btn-info,
.btn-info:hover,
.btn-info:focus {
  color: #ffffff;
  background: #00398b;
  border-color: #00398b;
}
.btn-white {
  background: #ffffff;
}
.btn-techo {
  background: #95d0c3;
}

.btn-sns {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  background: #ffffff;
}

.btn-sns:hover {
  background: #ffd4d4;
}

.btn-sns .fi-youtube {
  color: #ff2b2b;
}
.btn-sns .fi-twitter {
  color: #3cb5db;
}
.btn-sns .fi-instagram {
  color: #fd3e77;
}

.btn-outline-ibc {
  color: #a72126;
  border: 1px solid #a72126;
}
.btn-outline-ibc:hover {
  background: #a72126;
}

.btn-translucent-ibc {
    color: #a72126;
}

.text-ibc {
  color: #a72126;
}

.text-ladder {
  color:#003557;
}

.bg-cream {
  background: #fef5e3;
}

.border-item {
  border-color: #f0f0f0;
}

.side-sticky {
  top: 9rem;
}

/*
  breadcrumb
------------*/

.breadcrumb-item > a {
  color: #a72126;
}
.breadcrumb-item.active {
  color: #404040;
}
.breadcrumb-item + .breadcrumb-item::before {
  content: '>';
  margin-top: -0.2em;
  font-size: 1.25em;
  color: #a72126;
}

@media (min-width: 768px) {
  .breadcrumb-item + .breadcrumb-item::before {
    content: '>';
  }
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.375rem 1rem;
    clear: both;
    font-weight: 400;
    color: #333;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

.dropdown-menu li:hover>.dropdown-item {
    color: #a72126;
}

/*
  table
------------*/

.table:not(.table-dark) td {
    color: #333 !important;
}

/*
  pagination
------------*/

.pagination {
  height: 42px;
}
.pagination ul {
  list-style: none;
}
.pagination ul .page-item {
  width: 40px;
  height: 40px;
}
.pagination ul .page-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.page-item.active .page-link {
  background: #a72126;
  border-radius: 0.5rem;
}
.pagination .page-link.gray {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  background: #fff;
}

.page-link>i {
    display: inline-block;
    margin-top: 0.1rem;
    vertical-align: middle;
    font-size: 0.9em;
}

.page-link:hover {
    z-index: 2;
    color: #a72126;
    background-color: transparent;
    border-color: transparent;
}

@media (min-width: 768px) {
  .pagination {
    height: 62px;
  }
  .pagination ul .page-item {
    width: 60px;
    height: 60px;
  }
  .pagination .page-link.gray {
    height: 60px;
  }
}


/*------------
  common
------------*/

.ttl-dot {
  position: relative;
  padding-left: 35px;
}
.ttl-dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 52px;
  background: url("./assets/img/common/ttl_dot.svg") no-repeat center/contain;
}

.subttl-dot {
  position: relative;
  padding-left: 25px;
}
.subttl-dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 9px;
  height: 27px;
  background: url("./assets/img/common/ttl_dot.svg") no-repeat center/contain;
}

.sp-border {
  border-top: 10px solid #f2f4f8;
}

.fixheight {
  display: flex;
  justify-content: center;
  align-items: center;
}
.fixheight img {
  width: 100%;
  height: 100%;
  max-height: 320px;
  object-fit: contain;
}


/*------------
  header
------------*/

.form-header {
  padding: 0;
  border-radius: 20px;
  box-shadow: none;
}


/*------------
  index
------------*/

#index-hero .hero-carousel,
#index-hero .hero-carousel .tns-outer,
#index-hero .hero-carousel .tns-ovh,
#index-hero .hero-carousel .tns-ovh div {
  height: 100%;
}
#index-hero .hero-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#index-hero .hero-carousel .tns-nav {
  position: absolute;
  width: 100%;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0;
}

#index-hero .new-carousel {
  width: 75%;
  margin: 0 auto;
}
#index-hero .new-carousel.tns-carousel-wrapper [data-controls] {
  color: #ffffff;
  background: #f6ab00;
}
#index-hero .new-carousel.tns-carousel-wrapper [data-controls]:hover {
  color: #ffffff;
}

#index-campaign .campaign-carousel {
  width: 95%;
  margin: 0 auto;
}
#index-campaign .campaign01 {
  top: 43px;
  right: 53px;
  width: 88px;
  height: 40px;
}
#index-campaign .campaign02 {
  top: 42px;
  right: 81px;
  width: 27px;
  height: 59px;
}
#index-campaign .campaign03 {
  top: 62px;
  right: 32px;
  width: 62px;
  height: 28px;
}
#index-campaign .campaign-dot img {
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#index-campaign .campaign-ladder {
  position: relative;
  z-index: 9;
  margin-top: 60px;
  margin-left: 12rem;
}
#index-campaign .campaign-icon {
  bottom: 0;
  left: 0;
  width: 200px;
  pointer-events: none;
}
#index-campaign .campaign-illust {
  top: 0;
  right: 0;
  width: auto;
  height: 100%;
  pointer-events: none;
}
#index-campaign .campaign-illust img {
  width: auto;
  height: 100%;
}

.series-tag span + span {
  margin-left: 8px;
}

#index-bg .bg {
  z-index: -1;
  top: -100px;
  right: 0;
}

#index-series .book-carousel,
#index-genre .book-carousel {
  display: none;
}

#index-series .book-carousel.active,
#index-genre .book-carousel.active {
  display: block;
}

#index-blog a {
  text-decoration: none;
}

#index-news .news-article + .news-article {
  margin-top: 20px;
}

.card-header {
  border-bottom: none;
}

.card-body {
  flex: 1 1 auto;
  padding: 0.85rem 0.85rem;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: #fff;
  background-color: #a72226;
  border-color: transparent;
}

.nav-tabs .nav-link {
  border-radius: 1.5em;
}

.nav-link:hover, .nav-link:focus {
  color:#a72226!important;
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus{
  color: #a72226!important;
}

.dropdown-item:hover, .dropdown-item:focus {
  color: #a72226!important;
  background-color: transparent;
}

.dropdown-item.active, .dropdown-item:active{
  color: #a72226!important;
  text-decoration: none;
  background-color: transparent;
}

.navbar-light .nav-item.active .nav-link:not(.disabled) {
    color: #a72226;
}

@media screen and (max-width: 992px) {
  #index-campaign .campaign-ladder {
    margin-left: 0;
  }
  #index-campaign .campaign-icon {
    top: 18px;
    bottom: unset;
    left: 0;
    width: 80px;
    pointer-events: none;
  }
  #index-campaign .campaign-illust {
    right: -22rem;
  }
}

@media screen and (max-width: 768px) {
  #index-hero .hero-carousel .tns-controls {
    display: none;
  }
  #index-hero .hero-card:nth-of-type(n + 3) {
    margin-top: 1.5rem;
  }
  #index-campaign .campaign-card:nth-of-type(n + 3) {
    margin-top: 1.5rem;
  }
  #index-campaign .campaign-ladder {
    margin-top: 30px;
    margin-left: 0;
  }
  #index-campaign .campaign-icon {
    top: 48px;
    bottom: unset;
    left: 0;
    width: 80px;
    pointer-events: none;
  }
  #index-campaign .campaign-illust {
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
    pointer-events: none;
  }
  #index-campaign .campaign-illust img {
    width: 100%;
    height: auto;
  }

  .book-carousel .tns-controls {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  .book-carousel.tns-carousel-wrapper [data-controls] {
    margin-top: -2.7rem;
  }
  .book-carousel [data-controls=prev] {
    left: 3rem;
    transform: none!important;
    opacity: 1!important;
  }
  .book-carousel [data-controls=next] {
    right: 3rem;
    transform: none!important;
    opacity: 1!important;
  }
}


/*------------
  book-search
------------*/

#books p{
  color: #333;
  font-size: 1rem;
  margin-bottom: 10px;
}

#filters .accordion-button {
    position: relative;
    align-items: center;
    display: flex;
    width: 100%;
    padding: 0 1rem;
    font-size: 1rem;
    color: #454056;
    text-align: left;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out,border-radius .15s ease;
}

#filters .accordion-button:not(.collapsed) {
    color: #a72126;
    background-color: transparent;
    box-shadow: none;
}

#filters .form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 2em;
    margin-bottom: 0.475rem;
}

#filters .form-check-label {
    color: #333;
}

#filters .form-check-input {
    width: 1.1em;
    height: 1.1em;
    margin-top: 0.20em;
    vertical-align: middle;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid #bbb7c5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

#filters .form-check-input:checked {
    background-color: transparent;
    border-color: #a72126;
}

#filters .form-check-input:checked[type=checkbox] {
    background-image: url("assets/img/common/form-check.svg");
}

#filters .form-check-input:checked[type=radio] {
    background-image: url("assets/img/common/radio-check.svg");
}

#filters .accordion-button::after {
    flex-shrink: 0;
    margin-bottom: 10px;
    width: 1rem;
    height: 1rem;
    margin-left: auto;
    content: "";
    background-image: url("assets/img/common/button-close.svg");
    background-repeat: no-repeat;
    background-size: 1rem;
    transition: transform .2s ease-in-out;
}

#filters .accordion-body {
    padding: 1rem 1rem 1rem 0;
}

.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 0.6rem 1rem;
}

.alert-secondary {
    border-color: #fff;
    background-color: rgb(245 244 248 / 60%);
}

/*------------
  book-detail
------------*/

.detail-carousel.tns-controls-outside [data-controls=prev] {
  left: -1rem;
}
.detail-carousel.tns-controls-outside [data-controls=next] {
  right: -1rem;
}

.gallery-sample::before,
.gallery-sample::after {
  display: none;
}

.detail-desc{
  line-height: 1.8;
  font-size: 0.9rem;
}

.detail-desc p{
  color: #111;
  margin-bottom: 20px;
}

.detail-desc a{
  margin-bottom: 20px;
}

.detail-desc img{
  display: block;
  max-width: 100%;
  margin: 10px auto 30px;  
}

.detail-desc ul{
  margin: 20px 0px;
}

.detail-desc li{
  color: #111;
  font-size: 0.9rem;
}

.detail-desc h2 {
  color: #111;
  font-size: 1.2rem;
}

.detail-desc h3 {
  color: #111;
  font-size: 1.1rem;
}

.detail-desc h4 {
  color: #111;
  font-size: 1rem;
}

.detail-desc blockquote{
    position: relative;
    border-top: 2px solid #7A87B0;
    border-bottom: 2px solid #7A87B0;
    padding: 30px;
    font-weight: bold;
    margin: 30px 0px 10px;
}
.detail-desc blockquote:before{
    position:absolute;
    background-color:#FFFFFF;
    color:#7A87B0;
    content:'"';
    line-height:1;
    text-align:center;
    top:-20px;
    left:-10px;
    padding: 10px;
    font-size: 3rem;
}
.detail-desc blockquote:after{
    position:absolute;
    right:-10px;
    bottom:-20px;
    background-color:#FFFFFF;
    padding:10px;
    color:#7A87B0;    
    content:'"';
    line-height:1;
    text-align:center;
    font-size: 3rem;
}
.detail-desc blockquote cite {
    display: block;
    padding-right:30px;
    font-size: 0.8rem;
    text-align: right;
    color: #808080;
}

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

}

.btn-book {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 68px;
  padding: 0.2em 2em;
  border-radius: 0.5rem;
  background-image: linear-gradient(180deg, #ffffff 0%, rgb(235 235 235) 100%)
  border: 1px solid #9d9d9d;
  box-shadow: 0 0.25rem 0.75rem -0.375rem rgb(31 27 45 / 20%), 0 0.5rem 1rem rgb(31 27 45 / 16%);
}

.btn-book img {
  width: auto;
  max-height: 50px;
}


@media screen and (max-width: 768px) {
  .detail-carousel .tns-controls {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  .detail-carousel.tns-carousel-wrapper.tns-nav-outside [data-controls] {
    margin-top: -2.7rem;
  }
  .detail-carousel.tns-controls-outside [data-controls=prev] {
    left: 3rem;
  }
  .detail-carousel.tns-controls-outside [data-controls=next] {
    right: 3rem;
  }
}

/*------------
  blog
------------*/

#blog-detail h1,
#blog-detail h2,
#blog-detail h3,
#blog-detail h4 {
  margin-top: 2.0rem;
  color: #a72126;
}

/*------------
 publish
------------*/

#publish{
}


/*------------
 plan
------------*/

#plan{
}


/*------------
 page-loader
------------*/

.page-loading {
  visibility: hidden;
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all .4s .2s ease-in-out;
  background-color: #fff;
  opacity: 0;
}
.page-loading.active {
  opacity: 1;
  visibility: visible;
}
.page-loading-inner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
  transition: opacity .2s ease-in-out;
  opacity: 0;
}
.page-loading.active > .page-loading-inner {
  opacity: 1;
}
.page-loading-inner > span {
  display: block;
  font-size: 1rem;
  font-weight: normal;
  color: #666276;;
}
.page-spinner {
  display: inline-block;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: .75rem;
  vertical-align: text-bottom;
  border: .15em solid #bbb7c5;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner .75s linear infinite;
}

@keyframes spinner {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.cp_box *, .cp_box *:before, .cp_box *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_box {
  position: relative;
}
.cp_box label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  width: 100%;
  height: 60px;
  cursor: pointer;
  text-align: center;
  background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
  background: inherit;
}
.cp_box label:after {
  font-size: 0.9rem;
  line-height: 2rem;
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  width: 10rem;
  content: 'もっとみる';
  transform: translate(-50%, 0);
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 14px;
  background-color: #232323;
}
.cp_box input {
  display: none;
}
.cp_box .cp_container {
  overflow: hidden;
  height: 150px;
  transition: all 0.5s;
}
.cp_box input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
  content: ' 閉じる';
}
.cp_box input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px;
  transition: all 0.5s;
}


/*------------
  help
------------*/

#help {

}

.help h1{
  font-size:clamp(1.4rem, 2vw + 1rem, 1.8rem) ;
}

.help h2{
  font-size:clamp(1.4rem, 2vw + 1rem, 1.6rem) ;
  padding: 20px 30px 20px 40px;
  margin: 1.2em -12px 1em;
  border-radius: 20px;
  position: relative;
    background: #eef1f2;
}

.help h2:before {
    position: absolute;
    top: 25%;
    left: 20px;
    width: 6px;
    height: 50%;
    content: '';
    opacity: .2;
    -ms-filter: "alpha(opacity=20)";
    border-radius: 3px;
    background: #5f7276;
}

.help h3{
  font-size:clamp(1.2rem, 2vw + 1rem, 1.3rem);
  padding: 0.5rem;
  border-left: 6px double #000;
}

.help ol, ul, dl{
  line-height: 2;
}

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


/* SOCIAL PANEL CSS */
.social-panel-container {
	position: fixed;
	right: 0;
	bottom: 80px;
	transform: translateX(100%);
	transition: transform 0.4s ease-in-out;
  z-index: 10;
}

.social-panel-container.visible {
	transform: translateX(-70px);
}

.social-panel {	
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 31px -17px rgb(0 31 97 / 60%);
  border: 5px solid #e8353c;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 140px;
  padding-top: 20px;
  width: 370px;
  max-width: calc(100% - 10px);
}

.social-panel button.close-btn {
	border: 0;
	color: #97A5CE;
	cursor: pointer;
	font-size: 20px;
	position: absolute;
	top: 5px;
	right: 5px;
  background: none;
}

.social-panel button.close-btn:focus {
	outline: none;
}

.social-panel p {
	background-color: #e8353c;
  border-radius: 0 0 10px 10px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 18px;
  padding: 6px;
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  text-align: center;
  width: 250px;
}

.social-panel p i {
	margin: 0 5px;
}

.social-panel p a {
	color: #e8353c;
	text-decoration: none;
}

.social-panel h4 {
	margin: 20px 0;
	color: #97A5CE;	
	font-family: 'Muli';	
	font-size: 14px;	
	line-height: 18px;
	text-transform: uppercase;
}

.social-panel ul {
	display: flex;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.social-panel ul li {
	margin: 0 10px;
}

.social-panel ul li a {
	border: 1px solid #DCE1F2;
  border-radius: 50%;
  color: #e8353c;
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  text-decoration: none;
}

.social-panel ul li a:hover {
	border-color: #e8353c;
  color: #fff;
  background:#e8353c;
	box-shadow: 0 9px 12px -9px #e8353c;
}

.social-panel .youtube a {
	border: 1px solid #DCE1F2;
  border-radius: 50%;
  color: #e8353c;
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  text-decoration: none;
}

.social-panel .youtube a:hover {
	border-color: #e8353c;
  color: #fff;
  background:#e8353c;
	box-shadow: 0 9px 12px -9px #e8353c;
}

.social-panel .twitter a {
	border: 1px solid #DCE1F2;
  border-radius: 50%;
  color: #000000;
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  text-decoration: none;
}

.social-panel .twitter a:hover {
	border-color: #000;
  color: #fff;
  background:#000;
	box-shadow: 0 9px 12px -9px #000;
}

.social-panel .instagram a {
	border: 1px solid #DCE1F2;
  border-radius: 50%;
  color: #4C64D3;
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  text-decoration: none;
}

.social-panel .instagram a:hover {
	border-color: #4C64D3;
  color: #fff;
  background:#4C64D3;
	box-shadow: 0 9px 12px -9px #4C64D3;
}

.floating-btn {
  display: flex;
	border-radius: 26.5px;
	background-color: #e8353c;
	border: 1px solid #fff;
	box-shadow: 0 16px 22px -17px #e8353c;
	color: #fff;
  font-weight: 600;
	cursor: pointer;
	font-size: 16px;
	line-height: 20px;
	padding: 8px 20px;
	position: fixed;
	bottom: 20px;
	right: 80px;
	z-index: 999;
  align-items: center;
}

.floating-btn:hover {
	background-color: #e8353c;
  color: #ffffff;
}

.floating-btn:focus {
	outline: none;
}

.floating-text {
	background-color: #001F61;
	border-radius: 10px 10px 0 0;
	color: #fff;
	font-family: 'Muli';
	padding: 7px 15px;
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	z-index: 998;
}

.floating-text a {
	color: #e8353c;
	text-decoration: none;
}

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

	.social-panel-container.visible {
		transform: translateX(0px);
	}
	
	.floating-btn {
		right: 60px;
    bottom: 15px;
    font-size: 80%;
	}
}

/* お問い合わせフォーム */
#contact-confirm .required-label {
        display: none;
    }

#contact-confirm .confirm-custom {
    border-bottom: 1px dashed #efecf3;
    padding-bottom: 1rem;
    }

.grecaptcha-badge { visibility: hidden; }


/* --- 閲覧ランキングリボン --- */
.ranking-ribbon {
    position: absolute;
    top: 0;
    left: 0;
    width: 68px;
    height: 28px;
    background: #4082c9;
    border-radius: 0 0 8px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.ranking-number {
    color: #fff;
    font-weight: bold;
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 1;
}
.ranking-ribbon.rank-1 { background: #ffd700; color: #fff; }
.ranking-ribbon.rank-2 { background: #c0c0c0; color: #fff; }
.ranking-ribbon.rank-3 { background: #cd7f32; color: #fff; }


.tns-carousel-wrapper.tns-nav-outside:not(.tns-carousel-light) [data-nav].tns-nav-active {
    background-color: #333!important;
}

.tns-carousel-wrapper.tns-nav-outside:not(.tns-carousel-light) [data-nav] {
    background-color: rgb(102 98 118 / 23%)!important;
}

/* 横スクロールスタイル */
.scroll-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

.scroll-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.scroll-wrapper {
    display: flex;
    gap: 20px;
    padding: 10px 0;
}

.scroll-item {
    flex: 0 0 auto;
    width: calc(50% - 10px);
}

@media (min-width: 768px) {
    .scroll-item {
        width: calc(25% - 15px);
    }
}

@media (min-width: 992px) {
    .scroll-item {
        width: calc(20% - 16px);
    }
}
