/**
Theme Name: nbc-clinic
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nbc-clinic
Template: astra
*/

/*----------------------------------------
// pc only new line
//--------------------------------------*/
.br-pc {
  display: block;
}
@media (max-width: 767px) {
  .br-pc {
    display: none;
  }
}
/*----------------------------------------
// mobile only new line
//--------------------------------------*/
.br-sp {
  display: none;
}
@media (max-width: 767px) {
  .br-sp {
    display: block;
  }
}

/*----------------------------------------
// mobile only delete
//--------------------------------------*/
.delete-sp {
  display: inline-block;
}
@media (max-width: 767px) {
  .delete-sp {
    display: none;
  }
}

/*----------------------------------------
// button style
//--------------------------------------*/
.link-list .elementor-button-text {
  text-align: left;
}
.link-list .elementor-button-icon {
  position: relative;
  top: -10px;
}
@media (max-width: 767px) {
  .link-list .elementor-button-icon {
    top: -8px;
  }
}

/*----------------------------------------
// toggle style
//--------------------------------------*/
/* clinic list */
.custom-toggle .elementor-menu-toggle i:before {
  content: '';
  display: block;
  background: url("../../uploads/assets/common/toggle-clinic-list-ol.svg");
  width: 222px;
  height: 64px;
  background-size: cover;
}
.custom-toggle .elementor-menu-toggle.elementor-active i:before {
  content: '';
  display: block;
  background: url("../../uploads/assets/common/toggle-clinic-list-ol.svg");
  width: 222px;
  height: 64px;
  background-size: cover;
}
@media (max-width: 767px) {
  .custom-toggle .elementor-menu-toggle i:before {
    width: 194.25px;
    height: 56px;
  }
  .custom-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 194.25px;
    height: 56px;
  }
}

/* reserve btn */
.reserve-toggle .elementor-menu-toggle i:before {
  content: '';
  display: block;
  background: url("../../uploads/assets/contact/btn-reserve.svg");
  width: 400px;
  height: 91px;
  background-size: cover;
}
.reserve-toggle .elementor-menu-toggle.elementor-active i:before {
  content: '';
  display: block;
  background: url("../../uploads/assets/contact/btn-reserve.svg");
  width: 400px;
  height: 91px;
  background-size: cover;
}
/* iPad Pro */
@media (max-width: 1025px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 400px;
    height: 90px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 400px;
    height: 90px;
  }
}
/* Surface Duo */
@media (max-width: 541px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 447px;
    height: 102px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 447px;
    height: 102px;
  }
}
/* iPhone XR */
@media (max-width: 420px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 350.25px;
    height: 79px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 350.25px;
    height: 79px;
  }
}
/* iPhone 12 Pro, Pixel 5 */
@media (max-width: 394px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 328.25px;
    height: 74px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 328.25px;
    height: 74px;
  }
}
/* iPhone SE */
@media (max-width: 376px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 310.25px;
    height: 70px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 310.25px;
    height: 70px;
  }
}
/* Galaxy Xperia */
@media (max-width: 361px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 296.25px;
    height: 67px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 296.25px;
    height: 67px;
  }
}
/* iPhone 5/SE */
@media (max-width: 321px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 256.25px;
    height: 58px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 256.25px;
    height: 58px;
  }
}
/* Galaxy Fold */
@media (max-width: 281px) {
  .reserve-toggle .elementor-menu-toggle i:before {
    width: 215.25px;
    height: 48px;
  }
  .reserve-toggle .elementor-menu-toggle.elementor-active i:before {
    width: 215.25px;
    height: 48px;
  }
}

/*----------------------------------------
// post archive style
//--------------------------------------*/
.add-archive-title .elementor-heading-title::after {
  content: '一覧';
  font-size: 0.6em;
  padding-left: 0.3em;
  vertical-align: bottom;
}

/*----------------------------------------
// post pagenation style
//--------------------------------------*/
/* pagenation */
.page-numbers {
  padding: 15px 23px !important;
  background-color: #fff;
  border: none;
  border-radius: 30px;;
  color: #A88C20;
}
.page-numbers:hover {
  background-color: #323639;
  border: none;
  color: #A88C20;
}
.current {
  background-color: #323639;
  border: none;
  color: #A88C20;
}
.current:hover {
  background-color: #323639;
  border: none;
  color: #A88C20;
}
.elementor-pagination {
  letter-spacing: 0px !important;
}
@media (max-width: 767px) {
  .page-numbers {
    padding: 14px 20px !important;
    border-radius: 40px;
  }
}

/*----------------------------------------
// custom post style
//--------------------------------------*/
.custom-badge {
  font-size: 13px;
  color: #F5F5F5;
  background-color: #8D8F96;
  padding: 6px 12px;
  border-radius: 2px;
}
.custom-badge:hover {
  opacity: 0.7;
}
.custom-badge a {
  color: #F5F5F5;
  text-decoration: none !important;
}
@media (max-width: 767px) {
  .custom-badge {
    font-size: 13px;
    padding: 4px 8px;
  }
}

@media (max-width: 767px) {
  .custom-post-loop .elementor-widget-container img {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/*----------------------------------------
// archive post style bug fix
//--------------------------------------*/
@media (max-width: 1040px) {
  .archive-loop-section {
    padding: 60px 40px 80px 40px !important;
  }
}
@media (max-width: 767px) {
  .archive-loop-section {
    padding: 48px 16px 64px 16px !important;
  }
}

/*----------------------------------------
// view history styles
//--------------------------------------*/
.view-history-box {
  background-color: #323639;
  padding: 32px 0;
}
.view-history-box .history-title h3 {
  color: #fff;
  font-family: "Noto Serif JP", Sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}
.view-history-box .swiper-container {
  margin-top: 24px;
}
.view-history-box .history-thumbs {
  margin-right: 16px;
}
.view-history-box .history-thumbs:hover {
  transition: 0.8s;
  opacity: 0.4;
}
/* title */
.view-history-box .history-thumbs .page-title {
  color: #fff !important;
  font-size:18px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
@media (max-width: 1040px) {
  .view-history-box {
    padding: 32px 0 0 40px;
  }
  .view-history-box .history-thumbs .page-title {
    font-size:16px !important;
  }
}
@media (max-width: 767px) {
  .view-history-box {
    padding: 32px 0 0 16px;
  }
  .view-history-box .history-thumbs .page-title {
    font-size:14px !important;
  }
}

/*----------------------------------------
// tag style (case,column個別ページ)
//--------------------------------------*/
.post-tag a {
  display: inline-block !important;
  color: #323639 !important;
  font-size: 12px !important;
  padding: 5px 12px !important;
  margin: 0 8px 8px 0 !important;
  border: 1px solid #8D8F96 !important;
  border-radius: 22px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.post-tag a:hover {
  color: #fff !important;
  background-color: #323639 !important;
}

/*----------------------------------------
// tag cloud style
//--------------------------------------*/
.tag-cloud a,
.target-tag-cloud a {
  font-size: 13px;
  color: #323639;
  background-color: transparent;
  border: 1px solid #8D8F96;
  border-radius: 4px;
  text-decoration: none !important;
  padding: 2px 1em;
  display: inline-block;
  margin: 0 4px 8px 0;
}
.tag-cloud a {
  border-radius: 4px;
}
.target-tag-cloud a {
  border-radius: 22px;
}
.tag-cloud a:hover,
.target-tag-cloud a:hover {
  color: #fff;
  background-color: #323639;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

/*----------------------------------------
// elementor Tab styles
//--------------------------------------*/
.elementor-tabs .elementor-tabs-wrapper {
  border-bottom: 1px solid #A88C20;
  border-radius: 4px 4px 0 0;
}
.elementor-tab-title {
  background-color: #fff;
  text-align: center;
}
/* Must be below elementor-tab-title and above elementor-tab-content */
.elementor-active {
  background-color: #A88C20;
}
.elementor-tab-content {
  background-color: #fff;
  border-style: none !important;
  border-radius: 0 0 4px 4px;
}
.elementor-tabs-content-wrapper {
  background-color: transparent !important;
}

@media (max-width: 768px) {
  .elementor-tabs .elementor-tabs-wrapper {
    border-radius: 0;
  }
  .elementor-tab-content {
    border-radius: 0;
  }
  .elementor-tab-mobile-title {
    border: none !important;
  }
  .elementor-tab-title {
    text-align: left;
  }

  .elementor-tabs-content-wrapper .elementor-tab-mobile-title:nth-child(3) {
    margin-top: 8px !important;
  }
}

/*----------------------------------------
// tab menu style
//--------------------------------------*/
.elementor-widget-tabs .elementor-tab-content {
  padding: 8px 80px 40px !important;
}
@media (max-width: 1040px) {
  .elementor-widget-tabs .elementor-tab-content {
    padding: 4px 40px 40px !important;
  }
}
@media (max-width: 767px) {
  .elementor-widget-tabs .elementor-tab-content {
    padding: 4px 20px 20px !important;
  }
}
.menu-not-found,
.menu-caution {
  padding-top: 32px;
}
@media (max-width: 1040px) {
  .menu-not-found,
  .menu-caution {
    padding-top: 16px;
  }
}
@media (max-width: 767px) {
  .menu-not-found,
  .menu-caution {
    padding-top: 16px;
  }
}

.tab-menu-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.tab-menu-list:after,
.tab-menu-list:before {
  content: "";
  display: block;
  width: 23%;
  height: 0;
}
.tab-menu-list:before {
  order: 1;
}
.tab-menu {
  width: 23%;
  margin-top: 32px;
  padding-bottom: 12px;
  border-bottom: 1px solid #8D8F96;
}
.tab-menu-list .tab-menu a {
  color: #323639;
  text-decoration: none;
}
.tab-menu-list .tab-menu a:hover {
  color: #A88C20;
  text-decoration: underline solid #A88C20;
}

@media (max-width: 767px) {
  .tab-menu-list:after,
  .tab-menu-list:before {
    width: 46%;
  }
  .tab-menu {
    width: 46%;
    margin-top: 16px;
    padding-bottom: 6px;
  }
}

/* menu title */
.menu-category-title h3 {
  font-family: "Noto Serif JP", Sans-serif;
  color: #A88C20;
  font-size: 24px;
  font-weight: 600;
  margin: 40px 0 0;
}

@media (max-width: 1040px) {
  .menu-category-title h3 {
    font-size: 22px;
    margin: 36px 0 0;
  }
}
@media (max-width: 767px) {
  .menu-category-title h3 {
    font-size: 20px;
    margin: 32px 0 0;
  }
}

/*----------------------------------------
// sns share button
//--------------------------------------*/
ul.post-sns-share {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  border: none;
  list-style: none;
  padding: 0;
}
ul.post-sns-share li i {
  display: block;
  font-size: 2.2rem;
}
ul.post-sns-share li:hover {
  opacity: 0.7;
}

ul.post-sns-share li.txt-share {
  margin-right: 32px;
}
ul.post-sns-share li.txt-share img {
  width: 69px;
  height: auto;
  vertical-align: -webkit-baseline-middle;
}
@media (max-width: 767px) {
  ul.post-sns-share li.txt-share img {
    width: 52px;
    height: auto;
  }
}

ul.post-sns-share li.icon-sns img {
  width: 48px;
  height: 48px;
}
@media (max-width: 767px) {
  ul.post-sns-share li.icon-sns img {
    width: 40px;
    height: 40px;
  }
}

/*----------------------------------------
// sns icon box
//--------------------------------------*/
.sns-icon-box:hover {
  opacity: 0.7;
}

/*----------------------------------------
// mobile footer sns button
//--------------------------------------*/
ul.footer-sns-btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  border: none;
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.footer-sns-btn li:hover {
  opacity: 0.7;
}
ul.footer-sns-btn li.icon-sns img {
  width: 32px;
  height: 32px;
}
@media (max-width: 767px) {
  ul.footer-sns-btn li.icon-sns img {
    width: 32px;
    height: 32px;
  }
}

/*----------------------------------------
// mobile scroll top button
//--------------------------------------*/
@media (max-width: 767px) {
  .footer-sticky-box .elementor-icon-box-content {
    padding-left: 0 !important;
  }
}

@media (max-width: 767px) {
  #ast-scroll-top {
    z-index: 9999 !important;
    bottom: 98px;
  }
}

/*----------------------------------------
// icon list hover
//--------------------------------------*/
.elementor-icon-list-items a:hover {
  transition: 0.8s;
  opacity: 0.7;
}
.btn-iconbox:hover {
  transition: 0.8s;
  opacity: 0.7;
}


/*----------------------------------------
// elementor Testimonial Carousel Bug Fix
//--------------------------------------*/
.elementor-widget-testimonial-carousel .swiper-slide {
  width: 100% !important;
}

/*----------------------------------------
// elementor ImageBox Bug
//--------------------------------------*/
@media (max-width: 767px) {
  .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper, .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper {
    display: flex;
  }
  .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{
    flex-direction: row-reverse;
  }
  .elementor-widget-image-box.elementor-position-left .elementor-image-box-image {
    margin-right: 15px !important;
  }
  .elementor-widget-image-box.elementor-position-right .elementor-image-box-image {
    margin-left: 15px !important;
  }
  selector.elementor-widget-image-box .elementor-image-box-content {
    margin-left: 8px;
  }
}

/*----------------------------------------
// elementor IconBox Bug
//--------------------------------------*/
@media (max-width: 767px) {
  .elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper, .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper {
    display: flex;
  }
  .elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{
    flex-direction: row-reverse;
  }
  .elementor-widget-icon-box .elementor-icon-box-content {
      padding-left: 16px;
  }
  .elementor-image-box-title {
    margin: 8px 0 0 20px;
  }
}
.icon-box-main .elementor-icon-box-title {
  color: #323639 !important;
}
.icon-box-main .elementor-icon-box-title a {
  color: #323639 !important;
}
.icon-box-main .elementor-icon-box-title {
  position: relative;
  top: -8px;
}
@media (max-width: 767px) {
  .icon-box-main .elementor-icon-box-title {
    top: -5px;
  }
  .elementor-widget-icon-box .elementor-icon-box-content {
      padding-left: 0;
  }
  .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon {
      margin-bottom: 5px !important;
  }
}
@media (max-width: 600px) {    
  .elementor-widget-icon-box .elementor-icon-box-content {
    text-align: center;
    padding-left: 0;
  }
}

/*----------------------------------------
// elementor Image Gallery Bug
//--------------------------------------*/
@media (max-width: 767px) {
  .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item {
    max-width: 24% !important;
  }
}

/*----------------------------------------
// swiper styles
//--------------------------------------*/
.swiper-container-horizontal>.swiper-pagination-bullets {
  bottom: -8px;
}

/*----------------------------------------
// gradient styles
//--------------------------------------*/
.bg-clinic-header-grad {
  background:linear-gradient(90deg,#FFFFFF 0%,#FFFFFF 19.5%,#323639 19.5%,#323639 100%);
}
.bg-clinic-info-grad {
  background:linear-gradient(90deg,#FFFFFF 0%,#FFFFFF 41.6%,#F5F5F5 41.6%,#F5F5F5 100%);
}
.bg-about-header-grad {
  background:linear-gradient(90deg,#FFFFFF 0%,#FFFFFF 50%,#323639 50%,#323639 100%);
}
.bg-about-info-grad {
  background:linear-gradient(90deg,#FFFFFF 0%,#FFFFFF 50%,#323639 50%,#323639 100%);
}
@media (max-width: 767px) {
  .bg-about-info-grad {
    background: #323639;
  }
}

/*----------------------------------------
// Box Style
//--------------------------------------*/
/* campaign box */
.campaign-box {
  left: 50%;
  margin-left: -560px;
}

@media (max-width: 1440px) {
  .campaign-box {
    left: unset;
    margin-left: unset;
  }
}

/* case box あとで削除*/
.case-box {
  left: 50%;
  margin-left: -660px;
}

@media (max-width: 1440px) {
  .case-box {
    left: unset;
    margin-left: unset;
  }
}

/*----------------------------------------
// About
//--------------------------------------*/
@media (max-width: 767px) {
  .about-top .elementor-widget-wrap {
    background-color: #323639 !important;
  }
}

/*----------------------------------------
// Selectbox styles
//--------------------------------------*/
.custom-selectbox {
  display: flex;
  margin-bottom: 8px;
}
.custom-selectbox .dropdown {
  width: 75%;
  border-radius: 0 8px 8px 0;
}
.custom-selectbox .dropdown select {
  background: #fff;
  color: #323639;
  font-size: 16px;
  width: 100%;
  padding: 16px;
  border-radius: 0 8px 8px 0;
}
.custom-selectbox .title,
.custom-selectbox .dropdown {
  font-size: 16px;
}
.custom-selectbox .title {
  background: #323639;
  color: #fff;
  width: 25%;
  border-radius: 8px 0 0 8px;
  padding: 14px 0 14px 16px;
}

@media (max-width: 767px) {
  .custom-selectbox .dropdown select option {
    display: block;
    height: 60px;
  }
}

/*----------------------------------------
// Select Modal Style
//--------------------------------------*/
body.selModalBody{
  overflow: hidden;
}
.selModal{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999999;
  display: none;
}
.selModalOverlay{
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
}
.selModal .selModalInner {
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  width: 95%;
  max-width: 600px;
  max-height: 95%;
  border-radius: 8px;
  overflow-y: hidden;
}
.selModal .selModalInner .selModalHeader {
  background-color: #F5F5F5;
  text-align: right;
  padding: 10px;
  border-radius: 8px 8px 0 0;
}
.selModal .selModalInner .selModalHeader::after {
  content: "";
  display: block;
  clear: both;
}
.selModalCloseIcon {
  display: block;
  width: 25px;
  height: 25px;
  position: relative;
  cursor: pointer;
  float: right;
}
.selModalCloseIcon span::before,
.selModalCloseIcon span::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 84%;
  height: 10%;
  margin: -8% 0 0 -42%;
  background: #323639;
}
.selModalCloseIcon span::before {
  transform: rotate(-45deg);
}
.selModalCloseIcon span::after{
  transform: rotate(45deg);
}
.selModal .selModalInner .selModalList {
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow-y: auto;
}
.selModal .selModalInner ul {
  margin: 0;
  padding: 0;
  color: #323639;
  background-color :#fff;
  box-sizing: border-box;
}
.selModal .selModalInner ul li {
  display: block;
  position: relative;
  padding: 10px 25px 10px 15px;
  border: 1px solid #D8DADE;
  cursor: pointer;
  box-sizing: border-box;
}
.selModal .selModalInner ul li:last-child {
  /*border-bottom: none;*/
}
.selModal .selModalInner ul li:hover {
  color: #fff;
  background-color :#8D8F96;
}
.selModal .selModalInner ul li img {
  height: auto;
  vertical-align: middle;
  margin-right: 5px;
  max-width: 40px;
}
/* modal時の選択してくださいを非表示 */
.selModal .selModalInner ul li.selected {
  display: none;
}
.selModal .selModalInner ul li::after {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: 1px solid #323639;
  border-right: 1px solid #323639;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.selModalButton {
  display: inline-block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding: 6px 22px 6px 12px;
  border: 1px solid #777;
  border-radius: 0 8px 8px 0;;
  background: #fff;
  color: #323639;
  text-decoration: none;
  line-height: normal;
  cursor: pointer;
  text-align: left;
  font-size: inherit;
}
.selModalButton::before, .selModalButton::after {
  content: '';
  position: absolute;
  z-index: 2;
  right: 7px;
  width: 0;
  height: 0;
  border: 4px dashed;
  border-color: #323639 transparent;
  pointer-events: none;
}
.selModalButton::before {
  border-bottom-style: solid;
  border-top: none;
  top: 30%;
}
.selModalButton::after {
  border-top-style: solid;
  border-bottom: none;
  bottom: 30%;
}
.selModalButton:hover {
  background: #fff;
  color: #323639;
}
.selModal .selModalInner ul li.totch {
  background-color: #F5F5F5;
}

/*----------------------------------------
// Clinic
//--------------------------------------*/
@media (max-width: 767px) {
  .clinic-info-top .elementor-widget-wrap {
    background-color: #323639 !important;
  }
}

/*----------------------------------------
// Campaign
//--------------------------------------*/
.campaign-yen {
  font-size:0.75em; 
  padding-right:0.3em;
}
.campaign-yen::before {
  content: url("../../uploads/assets/campaign/arrow.svg");
  display: table-caption;
  position: relative;
  right: 16px;
}
.campaign-tax-included {
  color:#8D8F96;
  font-size:0.5em;
  padding-left:0.3em;
}
.campaign-sns-box .elementor-icon-box-title {
  color: #323639 !important;
}
.campaign-sns-box .elementor-icon-box-title a {
  color: #323639 !important;
}
@media (max-width: 767px) {
  .campaign-sns-box .elementor-icon-box-content {
    padding-left: 0;
  }
}

/*----------------------------------------
// Menu
//--------------------------------------*/
/* Table of Contentsには・を非表示にする */
.menu-headline::before {
  content: '・' !important;
  color: #323639;
}
.menu-headline2::before {
  content: '―' !important;
  color: #323639;
  position: absolute;
}
/* faq */
.icon-faq .elementor-heading-title::before {
  content: url("../../uploads/assets/menu/ico-q.svg");
  display: inline-block;
  position: relative;
  top: 4px;
  margin-right: 16px;
}
.menu-option-mark {
  font-size: 0.72em;
  background-color: #fff;
  border-radius: 12px;
  padding: 2px 8px;
  margin-right: 8px;
}
@media (max-width: 767px) {
  .recommend-box .elementor-icon-box-wrapper {
    display: inline-flex !important;
  }
}

/*----------------------------------------
// Price
//--------------------------------------*/
/* elementor mobile用 */
@media (max-width: 767px) {
  .price-column-box {
    display: flex !important;
  }
  .price-column-items:nth-child(1) {
    width: 70% !important;
    margin: 0 !important;
  }
  .price-column-items:nth-child(2) {
    width: 30% !important;
    margin: 0 !important;
  }
}

/* headline */
.price-headline {
  color: #323639;
  font-size: 16px;
}
.price-headline::before {
  content: '―' !important;
  color: #323639;
  margin-right: 12px;
}

/* title bottom space */
.price-template-title h3 {
  margin-bottom: 16px;
}
@media (max-width: 1040px) {
  .price-template-title h3 {
    margin-bottom: 14px;
  }
}
@media (max-width: 767px) {
  .price-template-title h3 {
    margin-bottom: 12px;
  }
}

/* scroll menu */
.price-scroll-container {
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.price-scroll-container .scroll-menu {
  display: flex;
  text-align: left;
}

.price-scroll-container .scroll-item {
  background: #8D8F96;
  border-radius: 4px;
  margin-right: 2px;
}
.price-scroll-container .scroll-item > a {
  display: block;
  padding: 18px 28px;
  color: #fff;
  text-decoration: none !important;
}
.price-scroll-container .scroll-item > a:hover {
  background-color: #323639;
  border-radius: 4px;
}

@media (max-width: 767px) {
  .price-scroll-container .scroll-item > a {
    padding: 14px 16px;
  }
}

/* price table */
.nbs-price-box .caution {
  font-size: 0.8em;
}
.nbs-price-box table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
  border-width: 0;
}
.nbs-price-box table th,
.nbs-price-box table td {
  font-size: 16px;
  border-radius: 4px;
  border: none;
  padding: 12px 20px;
}
.nbs-price-box table th {
  background: #D4D5D8;
}
.nbs-price-box table td {
  background: #FFFFFF;
}
/* Menu各ページのみ背景色上書き */
.trouble-page .nbs-price-box table td,
.menu-page .nbs-price-box table td {
  background: #F5F5F5;
}

/* 3カラム用 */
.nbs-price-box .title-box {
  width: 60%;
  text-align: left;
}
/* 2カラム用 */
.nbs-price-box .title-box2 {
  width: 76%;
  text-align: left;
}
.nbs-price-box .pattern-box {
  width: 16%;
  text-align: center;
}
.nbs-price-box .price-box {
  width: 24%;
  text-align: right;
}

/* tablet sp common styles */
@media (max-width: 1040px) and (max-width: 767px) {
  .nbs-price-box table th,
  .nbs-price-box table td {
    font-size: 12px;
    padding: 10px 8px;
  }
}

/* tablet styles */
@media (max-width: 1040px) {
  /* 3カラム用 */
  .nbs-price-box .title-box {
    width: 52%;
  }
  /* 2カラム用 */
  .nbs-price-box .title-box2 {
    width: 72%;
  }
  .nbs-price-box .pattern-box {
    width: 20%;
  }
  .nbs-price-box .price-box {
    width: 28%;
  }
}

/* sp styles */
@media (max-width: 767px) {
  /* 3カラム用 */
  .nbs-price-box .title-box {
    width: 45%;
  }
  /* 2カラム用 */
  .nbs-price-box .title-box2 {
    width: 70%;
  }
  .nbs-price-box .pattern-box {
    width: 25%;
  }
  .nbs-price-box .price-box {
    width: 30%;
  }
}

/*----------------------------------------------------------------------
// LP grey
//--------------------------------------------------------------------*/
/*----------------------------------------
// blockquote styles (LP grey)
//--------------------------------------*/
.blockquote-txt::before {
  background-image: url("../../uploads/assets/campaign/pico-tri-g/blockquote-left.svg");
}
.blockquote-txt::after {
  background-image: url("../../uploads/assets/campaign/pico-tri-g/blockquote-right.svg");
}
.blockquote-txt::before,
.blockquote-txt::after {
  content: '';
  display: inline-block;
  width: 22px;
  height: 61px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: super;
}
@media (max-width: 767px) {
  .blockquote-txt::before,
  .blockquote-txt::after {
    width: 18px;
    height: 51.5px;
  }
}

/*----------------------------------------
// txt effect styles (LP grey)
//--------------------------------------*/
.txt-effct-left::before,
.txt-effct-both::before {
  background-image: url("../../uploads/assets/campaign/pico-tri-g/txt-effect-left.svg");
}
.txt-effct-right::after,
.txt-effct-both::after {
  background-image: url("../../uploads/assets/campaign/pico-tri-g/txt-effect-right.svg");
}
.txt-effct-left::before,
.txt-effct-right::after,
.txt-effct-both::before,
.txt-effct-both::after {
  content: '';
  display: inline-block;
  width: 20.42px;
  height: 20.9px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: super;
}

/*----------------------------------------
// under marker (LP grey)
//--------------------------------------*/
.under-marker-g {
  background: linear-gradient(transparent 50%, #F6F4EE 50%);
}
.under-line-g {
  border-bottom: 1px solid #D4CBBB;
  padding-bottom: 2px;
}

.dot-text-g {
  padding-top: .4em;
  background-position: top left -2px;
  background-repeat: repeat-x;
  background-size: 1.0em .3em;
  background-image: radial-gradient(.05em .05em at center center,#000,#000 100%,transparent);
}

/*----------------------------------------
// FAQ Answer txt (LP grey)
//--------------------------------------*/
.faq-ans-txt {
  font-size: 0.75em;
}
@media (max-width: 767px) {
  .faq-ans-txt {
    font-size: 1em;
  }
}

/*----------------------------------------
// Pico Laser Tag (LP grey)
//--------------------------------------*/
.tag-g {
  position:relative;
  top: -0.5em;
  font-size: 0.35em;
  border: 1px solid #000;
  padding: 6px 10px;
  margin-left: 28px;
}
@media (max-width: 767px) {
  .tag-g {
    top: -0.5em;
    margin-left: 0;
  }
}

/*----------------------------------------
// border box style (LP grey)
//--------------------------------------*/
.box-shifted-line-g::before{
  content:'';
  width: 100%;
  height: 100%;
  top:-28px;
  left: -28px;
  position: absolute;
  border: 1px solid #CCC29E;
  z-index: 1;
}
@media (max-width: 767px) {
  .box-shifted-line-g::before{
    top:-11px;
    left: -7px;
  }
}

/*----------------------------------------
// icon box style (LP grey)
//--------------------------------------*/
.icon-box-g .elementor-icon-box-title {
  color: #000000 !important;
}
.icon-box-g .elementor-icon-box-title a {
  color: #000000 !important;
}

/*----------------------------------------------------------------------
// LP blue
//--------------------------------------------------------------------*/
/*----------------------------------------
// title frame (LP blue)
//--------------------------------------*/
.title-frame-b {
  padding: 0 16px;
}
.title-frame-b::before {
  background-image: url("../../uploads/assets/campaign/pico-tri-b/title-frame-l.svg");
  margin-right: 8px;
}
.title-frame-b::after {
  background-image: url("../../uploads/assets/campaign/pico-tri-b/title-frame-r.svg");
  margin-left: 8px;
}
.title-frame-b::before,
.title-frame-b::after {
  content: '';
  display: inline-block;
  width: 129px;
  height: 39px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: initial;
}
@media (max-width: 767px) {
  .title-frame-b::before,
  .title-frame-b::after {
    width: 61.92px;
    height: 18.72px;
  }
}

/*----------------------------------------
// under marker (LP blue)
//--------------------------------------*/
.under-marker-b {
  background: linear-gradient(transparent 70%, #FFE871 70%);
}

/*----------------------------------------
// box frame (LP blue)
//--------------------------------------*/
.box-frame-b > .elementor-widget-wrap {
  position: relative;
  background: url("../../uploads/assets/campaign/pico-tri-b/frame1.svg") no-repeat left top, url("../../uploads/assets/campaign/pico-tri-b/frame2.svg") no-repeat right top, url("../../uploads/assets/campaign/pico-tri-b/frame3.svg") no-repeat right bottom, url("../../uploads/assets/campaign/pico-tri-b/frame4.svg") no-repeat left bottom;
}
@media (max-width: 767px) {
  .box-frame-b > .elementor-widget-wrap {
    background: url("../../uploads/assets/campaign/pico-tri-b/frame-sp1.png") no-repeat left top, url("../../uploads/assets/campaign/pico-tri-b/frame-sp2.png") no-repeat right top, url("../../uploads/assets/campaign/pico-tri-b/frame-sp3.png") no-repeat right bottom, url("../../uploads/assets/campaign/pico-tri-b/frame-sp4.png") no-repeat left bottom;
  }
}

/*----------------------------------------
// icon box style (LP blue)
//--------------------------------------*/
.icon-box-b .elementor-icon-box-title {
  color: #333333 !important;
}
.icon-box-b .elementor-icon-box-title a {
  color: #333333 !important;
}

/*----------------------------------------------------------------------
// LP Opening Shinjuku
//--------------------------------------------------------------------*/
/*----------------------------------------
// FAQ
//--------------------------------------*/
.faq-opening-shinjuku .faq-mark {
  font-size: 24px;
  font-family: "Cormorant Garamond", Sans-serif;
}
.faq-opening-shinjuku .faq-ans-txt {
  font-size: 16px;
  color: #414549;
}
.faq-opening-shinjuku li::marker {
  font-size: 24px;
  font-family: "Cormorant Garamond", Sans-serif;
}
@media (max-width: 767px) {
  .faq-opening-shinjuku .faq-ans-txt {
    font-size: 14px;
  }
}

/*----------------------------------------
// txt effect styles
//--------------------------------------*/
.opening-present .txt-effct-left::before {
  background-image: url("../../uploads/assets/campaign/opening-shinjuku/txt-effect.svg");
}
.opening-present .txt-effct-left::before {
  content: '';
  display: inline-block;
  width: 40.09px;
  height: 21px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: super;
  position: relative;
  top: -10px;
  left: 24px;
}
@media (max-width: 767px) {
  .opening-present .txt-effct-left::before {
    width: 29.02px;
    height: 15.2px;
    top: -10px;
    left: 24px;
  }
}

/*----------------------------------------
// carousel style
//--------------------------------------*/
/* 画像が1枚しかない場合 */
.carousel-disp1 .elementor-image-carousel div:nth-child(2) {
  display: none !important;
}
.carousel-disp1 .elementor-image-carousel div:nth-child(3) {
  display: none !important;
}
/* 画像が2枚しかない場合 */
.carousel-disp2 .elementor-image-carousel div:nth-child(3) {
  display: none !important;
}

/*----------------------------------------
// text widget table style
//--------------------------------------*/
.elementor-widget-text-editor td ul {
  margin: 0 0 0 1em;
}
.elementor-widget-text-editor tr td:first-child {
  background: #D4D5D8;
  border: 1px solid #F5F5F5;
}

/*----------------------------------------------------------------------
// LP Hifu
//--------------------------------------------------------------------*/
.step-line .elementor-element-populated {
  border-top: 1px solid #414549 !important;
  border-bottom: 1px solid #414549 !important;
}

/*----------------------------------------
// txt effect styles (LP grey)
//--------------------------------------*/
.txt-effct-left-g::before{
  background-image: url("../../uploads/assets/campaign/hifu/txt-effect-left-g.svg");
}
.txt-effct-left-g::before {
  content: '';
  display: inline-block;
  width: 18.59px;
  height: 21.78px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: super;
}
@media (max-width: 767px) {
  .txt-effct-left-g::before {
    width: 14.57px;
    height: 17.07px;
  }
}

@media (max-width: 767px) {
  .hifu-iconbox .elementor-icon-box-title {
    text-align: left;
    padding-left: 8px;
  }
}

.hifu-inline-icon-list .elementor-inline-item {
  background: #FFFFFF;
  border-radius: 9px;
  box-shadow: 5px 5px 10px 0px rgba(206, 201, 181,0.44);
  padding: 4px 8px !important;
}
@media (max-width: 767px) {
  .hifu-inline-icon-list .elementor-inline-item {
    width: 80%;
    margin-bottom: 16px !important;
  }
}
.point-inner-line {
  color: #FFF;
  outline: 1px solid #A78C1E;
  outline-offset: -20px;
  z-index: 1;
}
