@charset "utf-8";

@import url("https://use.fontawesome.com/releases/v5.6.1/css/all.css");

/*全ページ共通*/
.wrapper {
    overflow: inherit;
    min-width: auto;
}

a:hover {
    color: #e70;
}

a[href*="tel"], button[href*="tel"] {
    pointer-events: none;
}

@media (max-width: 1024px) {
  a[href*="tel"], button[href*="tel"] {
      pointer-events: initial;
  } 
}

/*fead設定*/
.fead-mv.mv {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.fead-up.mv {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.fead-order>* {
    opacity: 0;
}

.fead-order>.mv {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

[data-element-id] .fead-order>* {
    opacity: 1;
}

/*2カラムコンテンツ*/
.columnContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.columnContentSide {
    width: 212px;
}

.columnContentMain {
    width: calc(100% - 212px);
}

@media (max-width: 1024px) {
    .columnContentSide {
      width: 20%;
    }
    
    .columnContentMain {
        width: 80%;
    }
    
    #sMenu ul li {
      background-position: right;
    }
    
    #sMenu ul li a {
      width: 100%;
      font-size: 1.5vw;
      background-position: right;
    }
    
    #contents {
        padding: 0 15px;
    }
}

@media (max-width: 599px) {
    .columnContent {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse;
    }
    
    .columnContentSide {
      width: 100%;
      margin-top: 20px;
    }
    
    .columnContentMain {
      width: 100%;
    }
}

/*スマホ時ハンバーガーメニュー*/
#menuTgl {
    background: rgba(238, 119, 0, 0.6);
    color: #fff;
    display: block;
    font-size: 20px;
    font-size: 2rem;
    height: 40px;
    line-height: 40px;
    left: 0;
    margin: 0 !important;
    padding: 0 !important;
    position: fixed;
    top: 0;
    text-align: center;
    -webkit-transition: .6s;
    transition: .6s;
    -moz-transition: all .6s;
    -webkit-transition: all .6s;
    -o-transition: all .6s;
    -ms-transition: all .6s;
    width: 100% !important;
    z-index: 10000;
}

[canvas], [off-canvas] {
    -webkit-transform: translate( 0px, 0px );
    transform: translate( 0px, 0px );
    -webkit-transition: -webkit-transform 300ms;
    transition: -webkit-transform 300ms;
    transition: transform 300ms;
    transition: transform 300ms, -webkit-transform 300ms;
    -webkit-backface-visibility: hidden;
}

[off-canvas] {
    background: #fff;
    display: none;
    position: fixed;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

[off-canvas] ul {
    overflow: scroll;
}

[off-canvas] ul li {
    background: url(/import/tenant_1/manabu-vital.com/cmnimg/menubtn_bg-ovr_sp.png) repeat-x;
    border: none;
    display: block !important;
    font-size: 18px;
    font-weight: bold;
    margin: 5px 0;
}

[off-canvas] li a {
    background: url(/import/tenant_1/manabu-vital.com/cmnimg/menubtn_bg-nomal_sp.png) repeat-x;
    display: block !important;
    height: 50px;
    line-height: 50px;
    width: 100%;
}

/*固定ボタン*/
.fixedBtn {
    bottom: 100px;
    /* display: none; */
    position: fixed;
    right: 12px;
    z-index: 4000;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
}

.fixedBtn ul {
    display: flex;
    flex-wrap: wrap;
}

.fixedBtn ul li+li {
  margin-top: 10px;
}

.fixedBtn ul li a {
    color: #fff;
    background: #e70;
    display: block;
    padding: 12px 20px 20px;
    border-radius: 10px;
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;    
    padding-bottom: 40px;
    position: relative;
    z-index: 0;
}

.fixedBtn ul li a .icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #fff;
    height: 35px;
    width: 100%;
    border-radius: 0 0 10px 10px;
    border: 1px solid #e70;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.fixedBtn ul li a .icon:before {
    font-family: "Font Awesome 5 Free";
    content: "\f101";
    font-weight: 900;
    color: #e70;
    font-size: 18px;
}

.fixedBtn ul li a i {
    font-size: 20px;
    margin-bottom: 5px;
}

.fixedMore {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 10;
}

.fixedMore .txt {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    padding-top: 15px;
    background: #e70;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    -webkit-box-shadow: 1px 1px 10px 0 #c9c9c9;
    box-shadow: 1px 1px 10px 0 #c9c9c9;
    position: relative;
}

.fixedMore .txt:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0a6";
    font-weight: 900;
    display: block;
    text-align: center;
    font-size: 25px;
    position: absolute;
    bottom: 5%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 0;
}

.ab_test .b_test ul li a {
    color: #ff9800;
    background: #ffff00;
}

.ab_test .b_test ul li a .icon {
    border: 1px solid #ffff00;
}

.ab_test .b_test ul li a .icon:before {
    color: #ff9800;
}

@media (max-width: 599px) {
  .fixedMore {
    display: block;
  }
  
  .fixedBtn {
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
    display: block;            
    bottom: -10%;
    left: 100%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: .3s;
    transition: .3s;
    opacity: 0;
  }
  
  .active .fixedBtn {
    opacity: 1;
    bottom: 50px;
    left: 50%;
  }
  
  .fixedBtn ul li:nth-of-type(2) {
    position: absolute;
    bottom: 60%;
    right: -80px;
    z-index: 0;
  }  
  
  .fixedBtn ul li:nth-of-type(3) {
    position: absolute;
    bottom: calc(100% + 0px);
    right: -10px;
    z-index: 0;
  }
  
  .fixedBtn ul li a {
    border-radius: 50%;
    width: 170px;
    height: 170px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    white-space: nowrap;
    font-size: 16px;
    letter-spacing: 1px;
    opacity: 0.8;
    visibility: hidden;
  }
  
  .active .fixedBtn ul li a {
    visibility: visible;
  }
  
  .fixedBtn ul li .tel a {
    width: 170px;
    height: 170px;
  }
  
  .active .fixedBtn ul li .tel a {
    -webkit-transform: scale(1);
    transform: scale(1);
    visibility: visible;
  }
  
  .fixedBtn ul li:nth-of-type(2) a {
    width: 80px;
    height: 80px;
    font-size: 0;
  }
  
  .fixedBtn ul li:nth-of-type(2) a .icon {
    background: none;
    border: none;
    top: 50%;
    bottom: auto;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  
  .fixedBtn ul li:nth-of-type(3) a {
    width: 60px;
    height: 60px;
    font-size: 0;
  }
  
  .fixedBtn ul li:nth-of-type(3) a .icon {
    background: none;
    border: none;
    top: 50%;
    bottom: auto;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  
  .a_test ul li a .icon:before {
      color: #fff;
  }
  
  .b_test ul li a .icon:before {
      color: #e70;
  }  
  
  .fixedBtn ul li .tel a:before {
    font-size: 50px;
    font-family: "Font Awesome 5 Free";
    content: "\f095";
    font-weight: 900;
    position: absolute;
    top: 30px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 1;
  }
  
  .fixedBtn ul li:nth-of-type(2) a .icon:before {
    content: "WEB予約";
    font-size: 14px;
  }
  
  .fixedBtn ul li:nth-of-type(3) a .icon:before {
    content: "\f0e0";
    font-size: 26px;
  }
  
  .fixedBtn ul li a i {
    display: none;
  }
}

/*ヘッダー*/
header h1 {
  padding: 5px 10px;
}

.headerInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 10px 20px;
}

.headerInner .logo {
    width: 400px;
}

.headerInner #cntcBtn {
    width: calc(100% - 420px);
}

.headerInner #cntcBtn .box {
    background: #e70;
    border-radius: 10px;
    padding: 13px 12px 6px;
}

.headerInner #cntcBtn .box a {
    color: #fff;  
    display: block;
}

.headerInner #cntcBtn .box a .titbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.headerInner #cntcBtn .box a .titbox .tag {
    font-size: 12px;
    line-height: 1;
    font-weight: bold;  
    color: #808080;
    background: #fff;
    padding: 5px 8px 5px;    
    position: relative;
    z-index: 0;
}

.headerInner #cntcBtn .box a .titbox .tag:after {
    content: "";
    border-top: 11px solid transparent;
    border-left: 11px solid #fff;
    border-bottom: 11px solid transparent;
    position: absolute;
    top: 0;
    left: 100%;    
    z-index: 0;
}

.headerInner #cntcBtn .box a .titbox .tit {
    margin-left: 15px;
    font-weight: bold; 
}

.headerInner #cntcBtn .box a .txtbox {
    margin-top: 5px;
}

.headerInner #cntcBtn .box a .txtbox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.headerInner #cntcBtn .box a .txtbox ul li .txt {
    font-size: 12px;
}

.headerInner #cntcBtn .box a .txtbox ul li:nth-of-type(1) .txt {
    font-weight: bold;
}

.headerInner #cntcBtn .box a .txtbox ul li .txt .sub {
    font-size: 80%;
    font-weight: normal;
    padding-right: 5px;
}

/*フッター*/
#fMenu li a:hover {
    color: #e70;
}

/*gナビメニュー*/
#hMenu.fixed {
    position: fixed;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 10;
}

/*見出し*/
.ttl01 {
    font-size: 26px;
    text-align: center;
    font-weight: bold;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
    border-top: 1px solid #e70;
    border-bottom: 1px solid #e70;
    padding: 30px 10px;
    margin-bottom: 20px;
}

.ttl02 {
    max-width: 100%;
    font-size: 26px;
    color: #505050;
    font-weight: bold;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
    display: inline-block;    
    margin: 20px 0 0 20px;
    padding: 0 5px;  
}

@media (max-width: 1024px) {
  .ttl01 {
    font-size: 18px;
    padding: 20px 10px;
    margin-bottom: 15px;
  }
}

@media (max-width: 599px) {
  .ttl02 {
    font-size: 18px;
  }
}

/*ボタン*/
.more01 > * {
    max-width: 90%;
    width: 330px;
    color: #fff;
    text-align: center;    
    border: none;
    border-radius: 5px;
    display: block;
    background: #e70;
    margin: 20px auto;
    padding: 10px 5px;
}

.more02 {
  margin-top: 10px;
}

.more02 > * {
    font-size: 18px;
    font-weight: bold;  
    background: #fefaf5;
    border: 1px solid #ffcf9f;
    border-radius: 5px;
    display: inline-block;
    padding: 5px 10px;
}

.more02 >*:after {
  font-family: "Font Awesome 5 Free";
  content: "\f35a";
  font-weight: 900;
  font-size: 24px;
  padding-left: 5px;
}

/*下線テキスト*/
.underline {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #ffff00));
    background: linear-gradient(transparent 50%, #ffff00 50%);
}

/*sideAccess*/
.sideAccess a {
    background: #e70;
    border: 1px solid #e70;
    border-bottom: 15px solid #e70;
    display: block;
}

.sideAccess a .titbox {
    text-align: center;
    padding: 10px;
}

.sideAccess a .titbox .tag {
    font-size: 14px;
    line-height: 1;
    font-weight: bold;
    color: #808080;
    background: #fff;
    padding: 5px 8px 5px;
}

.sideAccess a .titbox .tit {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    margin-top: 5px;
}

.sideAccess a .txtbox {
    background: #fff;
    text-align: center;
    padding: 3px 0 1px;
}

.sideAccess a .txtbox ul li .txt {
    font-size: 12px;
    color: #e70;
}

.sideAccess a .txtbox ul li:nth-of-type(1) .txt {
    font-weight: bold;
}

.sideAccess a .txtbox ul li .txt .sub {
    font-size: 80%;
    font-weight: normal;
    padding-right: 5px;
}

@media (max-width: 1024px) {
  .sideAccess a .titbox {
    padding: 5px;
  }
  
  .sideAccess a .titbox .tit {
    font-size: 13px;
  }
  
  .sideAccess a .txtbox ul li .txt .sub {
    display: block;
  }
}

@media (max-width: 599px) {
  .sideAccess {
    width: 70%;
    margin: 0 auto;
  }
}

/*TOPページ*/
/*topIntro*/
.topIntro .ttl {
    max-width: 100%;
    width: 440px;
    font-size: 26px;
    letter-spacing: -1.5px;
    line-height: 1.8;
    color: #505050;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;  
    margin: 6px 0 0 15px;
}

@media (max-width: 1024px) {
  .topIntro .ttl {
    font-size: 25px;
  }
}

/*topBanner*/
.topBanner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}

.topBanner .box {
    width: calc(100% - 200px);
    background: #e70;
    padding: 10px 12px;
}

.topBanner .box a {
    color: #fff;  
    display: block;
}

.topBanner .box a .titbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.topBanner .box a .titbox .tag {
    font-size: 14px;
    line-height: 1;
    font-weight: bold;  
    color: #808080;
    background: #fff;
    padding: 5px 8px 5px;    
    position: relative;
    z-index: 0;
}

.topBanner .box a .titbox .tag:after {
    content: "";
    border-top: 12px solid transparent;
    border-left: 12px solid #fff;
    border-bottom: 12px solid transparent;
    position: absolute;
    top: 0;
    left: 100%;    
    z-index: 0;
}

.topBanner .box a .titbox .tit {
    font-size: 18px;
    font-weight: bold; 
    margin-left: 15px;}

.topBanner .box a .txtbox {
    margin-top: 5px;
}

.topBanner .box a .txtbox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.topBanner .box a .txtbox ul li .txt {
    font-size: 12px;
}

.topBanner .box a .txtbox ul li:nth-of-type(1) .txt {
    font-weight: bold;
}

.topBanner .box a .txtbox ul li .txt .sub {
    font-size: 80%;
    font-weight: normal;
    padding-right: 5px;
}

.topBanner .list {
    width: 200px;
}

@media (max-width: 599px) {
  .topBanner .box {
    width: 100%;
    padding: 8px 8px;
  }
  
  .topBanner .list {
    width: 100%;
    display: flex;
  }
  
  .topBanner .box a .titbox .tag {
    font-size: 12px;
  }
  
  .topBanner .box a .titbox .tit {
    font-size: 13px;
  }
  
  .topBanner .box a .titbox .tag:after {
    border-top: 11px solid transparent;
    border-left: 11px solid #fff;
    border-bottom: 11px solid transparent;
  }
}

/*topCause*/
.topCause {
    color: #505050;
    text-align: center;
    margin-top: 30px;
}

/*topSymptoms*/
.topSymptoms {
    width: 90%;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto 20px;
    position: relative;
    z-index: 0;
}

.topSymptoms .arrow {
    width: 70px;
    position: absolute;
    top: 60%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1;
}

.topSymptoms .item {
    width: calc(50% - 5px);
}

.topSymptoms .item .tit {
    font-size: 14px;
    color: #808080;
}

.topSymptoms .item ul {
    background: #fcebd9;
    border-radius: 10px;
    padding: 10px;
}

.topSymptoms .item ul li {
    font-size: 14px;
    color: #464646;
    font-weight: bold;
}

@media (max-width: 599px) {
  .topSymptoms .item {
    width: 100%;
  }
  
  .topSymptoms .item+.item {
    margin-top: 50px;
  }
  
  .topSymptoms .arrow {
    width: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
    z-index: 1;
  }
}

/*TOPレイアウト*/
.topCol_1 {
    width: 60%;
    margin: 0 auto 10px;
}

.topCol_1 .txt {
    font-size: 1.1rem;
    line-height: 1.2;
    padding-bottom: 1rem
}

/*施術について*/
.treatmentCol_2,
.treatmentCol_3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.treatmentCol_2 > * {
    width: 40%;  
    margin: 10px 10px;
}

.treatmentCol_3 > * {
    width: 28%;  
    margin: 2%;
}

/*topBlog/news*/
.topBlog {
    margin-top: 30px;
}

.topBlog a:hover {
    color: #e70;
}

.topBlog .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 2px solid #e70;
    margin-bottom: 10px;
    padding-bottom: 15px;
}

.topBlog .box .ttl {
    width: 100px;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
    font-size: 20px;    
}

.topBlog .box .item {
    width: calc(100% - 120px);
    margin-left: 20px;
}

.topBlog .box .item dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.topBlog .box .item dl+dl {
    margin-top: 15px;
}

.topNews .box .item dl+dl {
    margin-top: 5px;
}

.topBlog .box .item dl dd {
    width: 90px;
    font-size: 12px;
}

.topBlog .box .item dl dt {
    width: calc(100% - 110px);
    color: #e70;
    margin-left: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topBlog .box .item dl dt .tit {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topBlog .box .item dl .img {
    border: 1px solid #e7e7e7;
}

.topBlog .box .item dl .cate {
    font-size: 12px;
    color: #000;
}

.topBlog .more {
    text-align: right;
}

.topBlog .more a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f101";
    font-weight: 900;
    padding-left: 10px;
}

@media (max-width: 1024px) {
  .topBlog .box {
    margin-bottom: 5px;
    padding-bottom: 10px;
  }
  
  .topBlog .box .ttl {
    width: 80px;
    font-size: 18px;
  }
  
  .topBlog .box .item dl dd {
    width: 85px;
  }
  
  .topBlog .box .item dl dt {
    width: calc(100% - 100px);
    margin-left: 10px;
  }
}

@media (max-width: 599px) {
  .topBlog .box .ttl {
    width: 100%;
    margin-bottom: 10px;
  }
  
  .topBlog .box .item {
    width: 100%;
  }
}

/*ブログ・お知らせ*/
.cateList {
    margin-bottom: 30px;
}

.cateList .item+.item {
    margin-top: 20px;
}

.cateList .item .tit,
.cateList .item ul li a {
    padding: 8px 10px 7px;
}

.cateList .item .tit {
    color: #fff;
    font-weight: bold;
    background: #e70;
}

.cateList .item ul li a {
    border-bottom: 1px solid #e70;
    display: block;
}

.cateList .item ul li a:hover {
    color: #e70;
}

/*ページャー*/
.pager {
    margin-top: 20px;
}

.pager ul li {
    margin-right: 10px;
}

.pager ul li:last-of-type {
    margin-right: 0;
}

.pager ul li a {
    display: block;
    display: block;
    width: 40px;
    line-height: 36px;
    border: solid 1px;
    text-align: center;
}

.pager ul li.now a {
    color: #fff;
    background: #e70;
    border-color: #e70;
}

/*お知らせ*/
.newsList ul li .item {
    padding: 10px 20px;
}

.newsList ul li .item a:hover {
    color: #e70;
}

.newsList ul li+li .item {
    border-top: dashed 2px #ee7700;
}

.newsList ul li:nth-of-type(even) .item {
    background: #fff2e5;
}

.newsList ul li:nth-of-type(odd) .item {
    background: #fff9f3;
}

.newsList ul li .item .txtbox .catebox {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.newsList ul li .item .txtbox .catebox .cate {
    color: #fff;
    background: #e70;
    margin-left: 10px;
    padding: 5px 10px 4px;
    line-height: 1;
}

.newsList ul li .item .titbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 5px;
}

#contents .newsList ul li .item .titbox .tit {
    width: calc(100% - 120px);
    padding: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.newsList ul li .item .titbox .more {
    width: 100px;
    margin-left: 20px;
}

.newsList ul li .item .titbox .more >*:after {
    font-family: "Font Awesome 5 Free";
    content: "\f35a";
    font-weight: 900;
    padding-left: 5px;
}

@media (max-width: 599px) {
  #contents .newsList ul li .item .titbox .tit {
    width: 100%;
  }
  
  .newsList ul li .item .titbox .more {
    width: 100px;
    margin-left: 0;
    margin-top: 5px;
  }
}

/*ブログ*/
.blogList ul li .item {
    height: 100%;
    -webkit-box-shadow: 0px 0px 10px #e0e0e0;
            box-shadow: 0px 0px 10px #e0e0e0;  
}

.blogList ul li .item a:hover {
    color: #e70;
}

.blogList ul li .item .txtbox {
    font-size: 14px;
    padding: 10px;
    border-top: dashed 2px #bfbfbf;
}

.blogList ul li .item .txtbox .cate {
    color: #fff;
    background: #e70;
    padding: 5px 10px 4px;
    line-height: 1;
    display: inline-block;
}

.blogList ul li .item .txtbox .tit {
    font-size: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 5px;
}

/*詳細ページ*/
.detail .titbox {
    border-bottom: 1px solid #e70;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.detail .titbox .catebox {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.detail .titbox .catebox .cate {
    color: #fff;
    background: #e70;
    padding: 5px 10px 2px;
    line-height: 1;
    display: inline-block;
    margin-left: 20px;
}

.detail .titbox .tit {
    color: #e70;
    font-size: 22px;
    margin-top: 20px;
}

/*お問い合わせフォーム*/
.form_shape .list {
    width: 60%;
}

.form_shape .list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 20px;
}

.form_shape .list .item input {
    width: 20px;
}

.form_shape .list .item input,
.form_shape .list .item label {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.input_text input,
.input_text textarea {
    padding: 2px 5px;
}

/*見たまま編集用*/
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@tb:after {
    display: block;
    content: "モバイル用";
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    background: green;
    padding: 5px;
    text-align: center;
}

[data-element-id] .show\@sp {
    display: block;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@sp:after {
    display: block;
    content: "モバイル用";
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    background: green;
    padding: 5px;
    text-align: center;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 540px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

[data-element-id] #menuTgl {
    display: block;
    position: relative;
}

[data-element-id] #tglCnt * {
    display: block;
}

[data-element-id] [off-canvas] {
    display: block;
    position: relative;
}

[data-element-id] .spGnav {
    width: 500px;
}

[data-element-id] .fixedBtn {
    position: relative;
    bottom: 0;
    right: 0;
}

[data-element-id] .fixedBtn ul li a {
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
}

[data-element-id] .fixedMore {
    display: block;
    position: static;
}

[data-element-id] #page-top {
    position: relative;
    right: 0px;
}

/* 0411 追記 */

.r{
  display: inline-block;
}

@media only screen and (max-width: 599px){
  .r{
  display: block;
}
}




.pdf {
    /* height: 520px; */
    position: relative;
}
.pdf:before {
    content: "";
    padding-top: 80%;
    display: block;
}
.pdf iframe{
    position: absolute;
    top: 0;
    left: 0%;
    width: 100%;
    height: 100%;
}


.pc-none{
  display: none;
}

.sp-none{
  display: block;
}

@media only screen and (max-width: 599px){
  .pc-none{
  display: block;
}

.sp-none{
  display: none;
}
}

/* 05/30 追記 */

.mv-area .flex{
  display: flex;
  align-items: center;
  justify-content: center;
}


.mv-area .flex .right{
  flex: 1;
  margin-left: -100px;
  margin-bottom: -75px;
}

.mv-area .flex .left{
  flex: 2;
}

.ta-c{
  text-align: center;
}

.mv-area .mincho{
     font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}

.mv-area .fw-b{
  font-weight: bold;
}

.mv-area .fz20{
  font-size: 20px;
}

.mv-area .strong-txt {
    margin: 20px 0 15px;
    font-weight: bold;
    font-size: 28px;
    font-family: serif;
}


.mv-area .oreage-area {
    background: #ec7800;
    color: #fff;
    width: 130px;
    border-radius: 50%;
    height: 130px;
    margin: 0px auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}


.oreage-area .strong-text{
  margin-top: 10px;
    font-family: serif;
    display: flex;
    align-items: flex-end;
    font-size: 32px;
}

.oreage-area .strong-one{
  font-size: 48px;
}

.mv-area .mt-10{
  margin-top: 10px;
}

.mv-area .oreage-txt{
  font-size: 24px;
    /* font-family: serif; */
    font-family: 'sans-serif','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN';
    color: #ec7800;
}

.mv-area .list-btn li{
    width: 48%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ec7800;
}

.mv-area .list-btn li a{
  color: #fff;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
}

.mv-area .jc-sb{
  justify-content: space-between;
}

.mv-area .mt-20{
  margin-top: 20px;
}

.mv-area .list-btn{
  width: 85%;
  margin: 20px auto;
}

.mv-area .list-btn02{
  width: 85%;
    margin: auto;
}

.mv-area .ls03{
  letter-spacing: .3rem;
}

@media only screen and (max-width: 599px){
  .mv-area .flex{
    position: relative;
  }
  
  .mv-area .right{
    position: absolute;
    width: 120px;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
  }
  
  .mv-area .list-btn li a {
    font-size: 14px;
}
}

/* 07/12 追記 */

.caption{
    width: 85%;
    margin: 10px auto 0;
}

.caption li{
    text-indent: -1em;
    padding-left: 1em;
}

@media only screen and (max-width: 599px){
  .caption li{
    font-size: 12px;
}
}

/* 07/28　追記 */

.line-benner{
  width: 100%;
}

.line-benner a{
  width: 100%;
}

.line-benner img{
  width: 100%;
}

.benner {
    width: 85%;
    margin: 25px auto;
}

/* 0822 追記 */

.another-pd{
  padding: 10px 0px !important
}

/* .h-bg{
    background: #000000b5;
    color: #fff;
    padding: 20px 0px;
}*/

.h-bg {
    background: #fff;
    color: #000000b5;
    padding: 20px 0px;
}

.ta-l{
  text-align: left;
}

.mb30{
  margin-bottom: 30px;
}

.caption.ml-0{
  margin-left: 0px !important;
}

/* 0824 追記 */

.benner.w100{
  width: 100% !important;
}


@media only screen and (min-width: 600px) and (max-width: 1024px) {
#mother{
  width: 100% !important;
}
}

.orange-box h4{
  margin-bottom: 20px;
  position: relative;
  padding-left: 20px;
}

.my-30{
  margin-top: 30px;
  margin-bottom: 30px;
}

.c-orange{
    color: #e70;
    font-weight: bold;
}


@media only screen and (max-width: 599px){
  .sp-none{
  display: none;
}
}

.orange-table{
  color: #fff;
  background-color: #ee7700;
}

.time-table td,th,tr{
      border: 1px #000 solid;
}

.prereserve-h{
  text-align: center;
  font-weight: bold;
    line-height: 1.8em;
}

.prereserve-h span{
      color: #ee7905;
}

.ta-c{
  text-align: center;
}
.fa-square:before {
    content: "\f0c8";
    color: #ee7905;
}

.pre-reserve{
      padding: 10px;
    border: 1px solid #ee7a07;
}

.pre-reserve span{
  display: block;
  text-align: center;
}

.tel-box {
    display: flex;
    margin-top: 40px;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
        align-items: flex-start;
}

.tel-box .image-box {
    width: 10%;
    height: auto;
    /* border: 3px solid #ee7a07; */
    padding: 0px 0 0px;
    display: flex;
    align-items: center;
}

.tel-box .image-box img{
  width: 100%;
    border: 3px solid #ee7a07;
    padding: 5px;
    border-radius: 10px
}

.tel-box .txt-box {
    margin-left: 5%;
    color: #777;
    font-weight: bold;
}

.tel-box .tel-area{
      width: 60%;
    color: #fff;
    background: #ee7a07;
    text-align: center;
    border-radius: 10px;
    padding: 10px;
    margin-top: 10px;
}

.tel-box .tel-area a{
      color: #fff;
    font-size: 20px;
}

.tel-box02 .txt-box{
  text-align: center;
}

.tel-box02 .tel-area{
  margin-right: auto;
  margin-left: auto;
}

.reserve-comment {
    text-indent: -0.5em;
    padding-left: 1em;
    margin: 3% 0;
}

.sp-none{
  display: inline-block;
}

@media only screen and (max-width: 599px){
  .tel-box {
    display: flex;
    margin-top: 40px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    align-items: flex-start;
}

.tel-box .tel-area a {
    color: #fff;
    font-size: 16px;
}

.sp-none{
  display: none;
}
}

.r{
  display: none !important;
}

@media only screen and (max-width: 599px){
  .r{
  display: block !important;
}
}

.v{
  display: block !important;
}

@media only screen and (max-width: 599px){
  .v{
  display: none !important;
}
}

/* 09/19 追記 */

.link-btn {
    justify-content: center;
    align-items: center;
    display: flex;
    background: #ec7800;
    height: 60px;
    width: 80%;
    margin: 20px auto;
}

.link-btn a {
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 22px;
    justify-content: center;
    font-weight: bolder;
}

/* 09/26 追記 */

@media only screen and (min-width: 600px){
  .w85-pc{
  width: 85px !important;
}

}

@media only screen and (max-width: 599px){
  .w-84sp{
    width: 84px !important;
  }
}


/* 10/18  追記*/

.mv-area .strong-txt.orange{
  color: #ec7800;
}

@media only screen and (max-width: 599px){
  .mv-area .left .ta-c{
    text-align: left;
  }
}

.fw-b{
  font-weight: bold;
}

.fz-18{
  font-size: 18px;
}

.orange{
  color: #ec7800;
}

.mb10{
  margin-bottom: 10px;
}

.red-border{
  border: 5px solid red;
    width: 70%;
    margin: auto;
    padding: 10px;
}

 .c-red{
  color: red;
}
  
.gray-border{
    border: 2px dashed #dfdedf;
    margin-top: 20px;
}

.mb20{
  margin-bottom: 20px;
}

  .lh-4{
  line-height: 4rem !important;
  }

@media only screen and (max-width: 599px){
  .red-border{
    width: 100%;
}
}

.w-30{
  width: 30%;
}

.mx-auto{
  margin-right: auto;
  margin-left: auto;
}

.c-gray{
  color: #505050;
}

.w-70{
  width: 70%;
}

.mb-30{
  margin-bottom: 30px;
}

.yellow-txt{
  color: #eb0;
}

@media only screen and (max-width: 599px){
  .w-100-sp{
    width: 100%;
  }
  
  .red-border {
    border: 5px solid red;
    width: 100%;
    margin: auto;
    padding: 10px;
}
}

.mb10{
  margin-bottom: 10px;
}


/* 12/11 追記 */

#contents h3 {
    font-size: 18px;
    font-size: 1.8rem;
    padding: 2em 0 1em;
}

.mt-30{
  margin-top: 30px;
}

.mb-60{
  margin-bottom: 60px;
}

.mb-40{
  margin-bottom: 40px;
}

.mb-20{
  margin-bottom: 20px;
}

.mb-2rem{
  margin-bottom: 2rem;
}

/* 01/24 追記 */

.ctctNavBtn:hover{
    color: #fff;
    opacity: 0.6;
}

/* 2024/08/19追記 */
.fwbold{
  font-weight: bold;
}

.list-number li{
  list-style: auto;
  list-style-position: inside;
}

.list-number.nonumber li{
  list-style: disc;
  list-style-position: inside;  
}

.pc-br{
  display: block;
}

@media(max-width:599px) {
.pc-br{
  display: none;
}
}

/* 2024/09/10 追記*/ 

.mb-40{
  margin-bottom: 40px;
}

#toppage .list-number li{
  text-indent: -1.6rem;
  padding-left: 1.7rem;
}

@media screen and (max-width:599px) {
 .sp-block{
   display: block;
 }
 
 #toppage .mb-40{
  margin-bottom: 20px;
}
}

/* 2024/10/03  */

#toppage .blown-bgc{
  background: #fef0c9;
}

#toppage .blown-bgc .ctctNavBtn.mt-0{
  margin-top: 0px;
}

#toppage .blown-bgc .ctctNavBtn.mb-0{
  margin-bottom: 0px;
}

#toppage .blown-bgc.pb-30{
  padding-bottom: 30px;
}

/* 2024/10/21  */
#toppage .fz-125em{
  font-size: 1.25em;
}

#toppage .fz16{
  font-size: 16px;
}


/* 2024/11/12 */

.cta-bnr{
  max-width: 660px;
  margin-right: auto;
  margin-left: auto;
}

/* 2024/12/20 */
.cta-container .cta+.cta{
  margin-top: 10px;
}

.cta-container .cta02 a{
  display: block;
  width: 100%;
  height: 100%;
}

.cta-container .cta02 span{
  display: none;
}

.cta-container .cta03{
  position: relative;
}

.cta-container .cta03 .mail-btn,
.cta-container .cta03 .line-btn{
  width: fit-content;
}

.cta-container .cta03 .mail-btn a,
.cta-container .cta03 .line-btn a{
  display: block;
  width: 100%;
  height: 100%;
}

.cta-container .cta03 .line-btn{
  position: absolute;
  left: 25px;
  bottom: 35px;
  z-index: 1;
}

.cta-container .cta03 .mail-btn{
  position: absolute;
  left: 25px;
  bottom: 130px;
  z-index: 1;
}

@media(max-width:1024px){
.cta-container .cta03 .mail-btn{
  bottom: 115px;
}    
}

@media(max-width:599px) {
.cta-container .cta03 .line-btn {
  width: 55%;
  left: 15px;
  bottom: 20px;
}

.cta-container .cta03 .mail-btn {
  width: 55%;
  left: 15px;
  bottom: 65px;
}  
}

/* 2025/04/02 */
.up-fw-bold{
  font-weight: bold;
}

.contents {
    line-height: 1.8em;
    margin: 0;
    padding: 0 30px;
}

.contents .text {
    margin-bottom: 20px;
    text-align: center;
}

.contents .text.fwbold {
    font-weight: bold;
}

.contents .image {
    margin-bottom: 20px;
    text-align: center;
}

.contents ol.list-count {
    counter-reset: list-counter;
}

.contents ol.list-count li {
    counter-increment: list-counter;
    position: relative;
    padding-left: 1em;
    text-align: left;
}

.contents ol.list-count li::before {
    content: counter(list-counter) ".";
    position: absolute;
    left: 0;
}

.contents ul.list-check li{
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
}

.contents ul.list-check li::before {
    content: "✓";
    font-weight: bold;
}

.contents .table th,
.contents .table td{
  width: 50%;
}

.contents .acc-parent {
  margin-bottom: 20px;
}

.contents .acc-content {
    overflow: hidden;
    max-height: 5.4em; /* 3行分くらいの高さを指定 */
    transition: max-height 0.5s ease-in-out;
}

.contents .acc-parent.action .acc-content {
    max-height: 1000px; /* 十分に大きな値を指定して全体を表示 */
}

.contents .acc-btn {
  width: fit-content;
  margin-left: auto;
  color: gray;
  cursor: pointer;
}

.contents .acc-ttl{
  font-size: 26px;
  font-weight: bold;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  padding: 10px 0;
  margin-bottom: 20px;
  border-bottom: 3px solid #fdc100;
}

.contents .acc-ttl::before{
  content: "■";
  color: #fdc100;
  margin-right: 0.5em;
}

@media(max-width:1024px){
.contents .acc-ttl{
  font-size: 18px;
  margin-bottom: 15px;
} 
}

/* 2025/04/08 追記 */

.text.ta-l{
  text-align: left;
}

/* 2025/05/16 */
.ttl01.ver02{
  text-align: left;
}

.ttl01.ver02::before {
  content: "■";
  color: #e70;
  margin-right: 0.5em;
}

.ttl01.ver02 .h-bg {
  background-color: transparent;
}

/* 2025/06/02 */
.contents.verin{
  padding: 0;
  margin-top: 20px;
}

/* 20260622 */

#symptomslist {
  max-width: 700px;
  margin-inline: auto;
  margin-bottom: 30px;
}

#symptomslist .symptoms__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

#symptomslist .symptoms__header img {
  display: block;
  width: 100%;
  height: auto;
}

#symptomslist .symptoms__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 24px;
  margin: 0;
  padding: 24px 24px 8px;
  list-style: none;
}

#symptomslist .symptoms__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 12px 14px;
  border: 1px solid #f3c63f;
  border-radius: 6px;
  background: linear-gradient(180deg, #fffdef 0%, #ffe9a3 55%, #ffd24a 100%);
  box-shadow: 0 2px 4px rgba(120, 90, 0, 0.18);
  text-align: center;
}

#symptomslist .symptoms__item a{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;  
}

#symptomslist .symptoms__item span {
    color: #2b2b2b;
    font-size: 19px;
    font-weight: 600;
    text-shadow: 0px 0px 3px rgba(255, 255, 255, 0.8), 2px 0px 3px rgba(255, 255, 255, 0.4), 2px 0px 3px rgba(255, 255, 255, 0.4), 2px 2px 3px rgba(255, 255, 255, 0.4);
}

#symptomslist .symptoms__item--emphasis span {
  font-size: 21px;
  font-weight: 700;
}

@media (max-width: 1024px) {
  #symptomslist .symptoms__grid {
    gap: 12px 18px;
    padding: 20px 18px 6px;
  }

  #symptomslist .symptoms__item {
    min-height: 52px;
  }

  #symptomslist .symptoms__item span {
    font-size: 16px;
  }

  #symptomslist .symptoms__item--emphasis span {
    font-size: 19px;
  }
}

@media (max-width: 599px) {
  #symptomslist .symptoms__grid {
    gap: 8px 10px;
    padding: 14px 12px 4px;
  }

  #symptomslist .symptoms__item {
    min-height: 46px;
    padding: 10px 8px;
    border-radius: 5px;
  }

  #symptomslist .symptoms__item span {
    font-size: 13px;
  }

  #symptomslist .symptoms__item--emphasis span {
    font-size: 15px;
  }
}


.symptom-tags02 {
    display: flex;
    align-items: center;
    margin-left: 30px;
    margin-bottom: 20px;
    gap: 8px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/* 先頭の三角アイコン */
.symptom-tags02 .symptom-tags__icon {
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 11px;
  border-color: transparent transparent transparent #a0a0a0;
}

.symptom-tags02 .symptom-tags__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.symptom-tags02 .symptom-tags__item {
    border: 1px solid #b5b5b5;
    color: #a0a0a0;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    padding: 0px;
    white-space: nowrap;
    background: #fff;
    height: 30px;
    width: 90px;
}

.symptom-tags02 .symptom-tags__item a{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a0a0a0;
}

/* ===== 1024px以下 ===== */
@media (max-width: 1024px) {
  .symptom-tags02{
  margin-left: 15px;
  font-size: 14px;
  }  
}
/* ===== 599px以下 ===== */
@media (max-width: 599px) {
  
  .symptom-tags02{
  margin-left: 15px;
  font-size: 11px;
  }
  
  
  
  .symptom-tags02 .symptom-tags { gap: 6px; }
  .symptom-tags02 .symptom-tags__list { gap: 6px; }
  .symptom-tags02 .symptom-tags__item { font-size: 11px; padding: 6px 9px; }
}
