@charset "utf-8";

/*============================================
  layout-types-A-sp.css
  レイアウトに関するスタイル定義（SP版）

  ToDo：カラムパターンが増えた場合はこのファイルで定義する。
==============================================*/

/*============================================
  このレイアウトパターンのbodyデフォルト値
==============================================*/
body {
  font-size: 13px;
}

/*============================================
  コンテナ・ブロック
==============================================*/

/*-- 全体コンテナ --*/
#container {
  padding-top: 0;
}

/*-- コンテンツ全体ブロック（1カラム用） --*/
#contents {
  width: calc(100% - 32px);
  margin: 0 auto;
}

/*-- Bパターン（旧C,Dパターン）用
　メニュー＆コンテンツ領域の親ブロック --*/
#main {
  width: 100%;
  margin: 0 auto;
}

/*-- Bパターン（旧C,Dパターン）用メニューエリア --*/
#menu-area {
  display: none;
}

/*-- Bパターン（旧C,Dパターン）用コンテンツエリア --*/
#contents-area {
  width: 100%;
  min-height: 0;
}

#contents-area.accordion-contents-area-ptnB {
  height: 100%;
}

/*-- Bパターン（旧C,Dパターン）用コンテンツブロック --*/
#contents-area > #contents {
  width: calc(100% - 32px);
  margin: 0 auto;
}


/*============================================
  ヘッダーエリア
==============================================*/
header {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

/*-- Cパターン（旧Eパターン）用ヘッダーエリア --*/
header.ptnC {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: static;
}

.header-left {
  width: calc(100% - 120px);
  max-height: 50px;
}

.header-right {
  width: auto;
}

/*-- ヘッダーロゴの設定 START --*/
/*---- ロゴはお客様によりサイズが異なるため適宜調整してください --*/

.header-logo {
  margin-bottom: 0;
  margin: 7px 0 4px 8px;
  width: 60%;
  height: auto;
}

@media only screen and ( max-width : 375px ) {
  /*---ロゴ調整例---*/
  .header-logo {
    margin-bottom: 0;
    margin: 8px 0 4px 8px;
    width: 70%;
    height: auto;
  }

  @media ( max-width : 320px ) {
    /*---ロゴ調整例---*/
    .header-logo {
      width: 80%;
      margin: 10px 0 4px 8px;
    }
  }
}
/*-- ヘッダーロゴの設定 END --*/


/*-- Cタイプ（旧Eタイプ）用ヘッダー電話番号エリア --*/
.head-tel-area {
  display: none;
}

.header-address {
  display: none;
}

header .tell-parts1 {
  display: none;
}

header .tell-number {
  display: none;
}

header .tell-medi-hours {
  display: none;
}

/*-- SP版 TELボタン --*/
.sp-menu {
  position: relative;
  width: 100px;
  height: 50px;
}

.sp-menu-tel-btn {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
}

.sp-menu-tel-btn> figure {
  position: absolute;
  margin: 0;
  width: 20px;
  left: 0;
  right: 0;
  top: 8px;
  bottom: 0;
  margin: 0 auto;
}

.sp-menu-tel-btn> figure > figcaption {
  font-size: 10px;
}

/*-- SP用 ハンバーガーメニュー --*/
#sp-menu-hbm-area {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
}

/*-- メニュー本体  --*/
#sp-menu-hbm-area nav {
  display: block;
  position: fixed;
  /*  top: 0;
  left: -300px;
*/
  top: 50px;
  bottom: 0;
  width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open#sp-menu-hbm-area nav {
/*  left: 0;
*/
  right: 0;
  opacity: 1;
  width: 220px;
}
#sp-menu-hbm-area nav .inner {
  padding: 25px;
}
#sp-menu-hbm-area nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#sp-menu-hbm-area nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid;
}
#sp-menu-hbm-area nav .inner ul li a {
  display: block;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
#sp-menu-hbm-area nav .inner ul li a:hover {

}

.sp-menu-hbm-btn {
  display: block;
  position: absolute;
  top: 5px;
  right: 10px;
  width: 30px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.sp-menu-hbm-btn span {
  display: block;
  position: absolute;
  left: 3px;
  width: 25px;
  height: 2px;
  border-radius: 4px;
  transition: all .5s;
}

.sp-menu-hbm-btn > div {
  position: absolute;
  top: 27px;
  font-size: 10px;
}

.sp-menu-hbm-btn span:nth-child(1) {
  top: 4px;
}
.sp-menu-hbm-btn span:nth-child(2) {
  top: 12px;
}
.sp-menu-hbm-btn span:nth-child(3) {
  bottom: 7px;
}

.open#sp-menu-hbm-area {

}

.open .sp-menu-hbm-btn span {

}

.open .sp-menu-hbm-btn > div {

}

.open .sp-menu-hbm-btn span:nth-child(1) {
  -webkit-transform: translateY(9px) rotate(-315deg);
  transform: translateY(9px) rotate(-315deg);
}
.open .sp-menu-hbm-btn span:nth-child(2) {
  opacity: 0;
}
.open .sp-menu-hbm-btn span:nth-child(3) {
  -webkit-transform: translateY(-8px) rotate(315deg);
  transform: translateY(-8px) rotate(315deg);
}

#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .0;
  z-index: 2;
  cursor: pointer;
}

/*============================================
  フッターエリア
==============================================*/
footer {
  margin-top: auto;
}

.footer-btnArea {
  margin-top: 23px;
}

#footer-info {
  width: calc(100% - 32px);
}

.logo-footer {
  margin-bottom: 20px;
  width: auto;
}

footer .tell-parts1 {
  font-size: 13px;
  width: 140px;
}

#footer-info-inner {
  width: 300px;
  margin: 0 auto 40px auto;
}

#footer-info-inner .tell-number {
  margin-left: 31px;
}
    
#footer-info-inner .tell-number {
  margin-left: 62px;
}

.footer-lower-part {
  padding-bottom: 80px;
}

.copylight {
  margin-bottom: 0;
  padding-bottom: 0.7em;
}


/*============================================
  TOPページ用スタイル
==============================================*/
/*-- メインスライダー --*/
#main-image {
  height: 232px;
  margin-bottom: 22px;
}

/*-- Cタイプ（旧Eタイプ）用メインイメージエリア --*/
#main-image.ptnC {
  height: 232px;
  margin-bottom: 22px; 
}


#sec-main-image {
  height: 150px;
  margin-bottom: 22px;
}

.slide-images {
  height: 100%;
}

.slide-images.hidari {
  left: 70%;
}

/*-- お知らせ --*/
.info {
  padding: 14px 14px 0 14px;
  overflow: hidden;
}

.info dl {

}

.info dl dt {
  margin-right: 0;
}

.info dl dd {
  float: left;
  width: calc(100% - 100px);
  margin-bottom: 1.0em;
}

/*-- 診療時間 --*/
table.hours_table {
  width: 100%;
  margin: 0 0 20px 0;
}

table.hours_table td {
  font-size: 21px;
}

table.hours_table th,
table.hours_table td {
  text-align: center;
  padding: 7px 0 7px 0;
}

table.hours_table tr td:first-child {
  font-size: 14px;
  color: #333;
}

table.hours_table tr:first-child {

}

table.hours_table th {
  
}

.recep-time {

}

.recep-time dt {
  margin-right: 15px;
}

.recep-time dd {
  display: block;
  float: left;
  width: auto;
  margin-bottom: 1.2em;
  padding: 8px 0 6px 0;
}


/*-- アクセス --*/
.access-g-map {
  margin-bottom: 20px;
}

.jc-flex-start {
  justify-content: flex-start;
  align-items: flex-start;
}

.access-text {

}

.access-text.ptnB {
  margin-top: 0;
}

.address-title {
  width: 114px;
  border: 1px solid;
  border-radius: 14px;
  padding: 4px 0 2px 0;
  text-align: center;
  margin-bottom: 1em;
}

.address {
  margin-bottom: 1em;
}

.access-text dl {

}

.access-text dl span {

}

.access-text dt {
  margin-bottom: 0.3em;
}

.access-text dd {
  margin-left: 1em;
  margin-bottom: 1em;
}

.access-img-A {
  width: 100%;
  margin-right: 0;
  margin-bottom: 20px;
}
  
.access-img-B {
  width: 100%;
  margin-right: 0;
  margin-bottom: 20px;
}


/*============================================
  セカンドページ用スタイル
==============================================*/
#sec-main-image {
  height: 150px;
  margin-bottom: 22px;
}

#sec-main-image h1 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
  padding: 5px 13px 5px 26px;
}

/*-- Cタイプ（旧Eタイプ）用セカンドページメイン画像 --*/
#sec-main-image.ptnC {
  height: 150px;
  margin-bottom: 22px;
}

/*-- Cタイプ（旧Eタイプ）用セカンドページh1 --*/
#sec-main-image h1.ptnC {
  display: none;
}

h1.sec {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 22px;
  padding: 5px 17px 5px 24px;
}

/*-- アクセス・診療時間用Tell番号 --*/
.tell-number-B {
  font-size: 26px;
  font-weight: bold;
  text-align: left;
  padding-left: 26px;
  margin: 0 0 5px 27px;
  background-repeat: no-repeat;
  background-size: 21px;
  background-position-y: 3px;
}

/*------ スタッフ紹介 start ------*/
.stuff-flex-box-item-2col-left-img {
  width: 100%;
}

.stuff-flex-box-item-2col-right-text {
  width: 100%;
}

.director-img {
  width: 100vw;
  margin: 0 0 10px -16px;
}

.position {
  margin-bottom: 0;
}

.director-name {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.2em;
}

.director-name span {
  font-size: 14px;
  letter-spacing: 0;
}

.director-lead-txt {
  font-size: 16px;
}

.director-txt {
  margin-bottom: 30px;
}

.keireki {
}

.flex-box-item-2col-keireki-left {
  width: 80px;
  margin-left: 1em;
}

.flex-box-item-2col-keireki-right {
  width: 100%;
  margin-bottom: 12px;
}

.keireki dl {margin-left: 2em;}

.keireki dl dt {
  float: left;
  clear: left;
  margin-right: 20px;
  width: 60px;
}

.keireki dl dd {
  float: left;
  width: calc(100% - 90px);
  margin-bottom: 0.8em;
}

.keireki ul {
  margin-left: 2em;
  list-style: none;
}

.keireki ul li {
  margin-bottom: 0.8em;
}

/*------ スタッフ紹介 end ------*/


/*------ 料金表 start ------*/
.price-lead {
  font-size: 16px;
  margin-bottom: 40px;
}

.price-table {
  width: 100%;
  margin-bottom: 30px;
}

.price-table-row {
  padding: 15px 0 12px 0;
  border-top: 1px solid;
}

.price-table-row:first-child {
  padding: 0 0 12px 0;
  border-top: none;
}

.price-table-row:last-child {
  border-bottom: 1px solid;  
}

.plice-img {
  float: left;
  margin-right: 15px;
}

.price-desc {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 0;
}

.price-desc-left {
  width: 100%;
  margin-right: 0;
}

.price-desc-right {
  width: 100%;
}

.price-desc h3 {
  margin-bottom: 6px;
}

.price-text {
  font-family: 'Noto Sans JP',sans-serif;
  font-weight: 500;
  margin-bottom: 0;
}

.price-text span {
  font-size: 18px;
}

.payment-table {
  border-collapse: collapse;
  border-bottom: 1px solid;
  width: 100%;
}

.payment-table tr {
  border-top: none;
  border-bottom: 1px solid;
}

.payment-table th {
  text-align: left;
  vertical-align: top;
  padding: 10px 20px 10px 0;
  width: 28%;
}

.payment-table td {
  text-align: left;
  vertical-align: top;
  padding: 10px 0 10px 0;
}

.payment-card {
  margin-top: 10px;
}

.payment-card img {
  width: auto;
  margin-right: 10px;
}
/*------ 料金表 end ------*/


/*------ 採用情報 start ------*/
.recruit .flex-box-item-2col-left {
  width: 100%;
}

.recruit .flex-box-item-2col-left.ptnB {
  width: 100%;
}

.recruit .flex-box-item-2col-right {
  width: 100%;
}

.recruit .flex-box-item-2col-right.ptnB {
  width: 100%;
}

.recruit .flex-box-item-2col-left2 {
  width: 100%;
}

.recruit .flex-box-item-2col-left2.ptnB {
  width: 100%;
}

.recruit .flex-box-item-2col-right2 {
  width: 100%;
}

.recruit .flex-box-item-2col-right2.ptnB {
  width: 100%;
}

.recruit .flex-box-item-2col-left3 {
  width: 100%;
  margin-left: 0;
  margin-bottom: 10px;
}

.recruit .flex-box-item-2col-left3.ptnB {
  width: 100%;
}

.recruit .flex-box-item-2col-right3 {
  width: 100%;
}

.recruit .flex-box-item-2col-right3.ptnB {
  width: 100%;
}

.recruit .director-img {
  width: 100vw;
}

.recruit .director-img.ptnB {
  width: 100vw;
}

.recruit .job-img {
  width: 100vw;
  margin: 0 0 20px -16px;
}


.recruit-lead1 {
  font-size: 16px;
  letter-spacing: 0;
}

.recruit-lead2 {
  font-size: 16px;
}

.recruit-order-h {
  font-size: 14px;
  padding: 4px 0 5px 0;
}

.recruit-order-text {
  margin-left: 10px;
}

.emp-cond-tab {
  width: 100%;
  margin: 0 0 30px -5px;
}

.emp-cond-tab:after {
  display: block;
  content: '';
  clear: both;
}

.emp-cond-tab dt {
  width: 80px;
}

.emp-cond-tab dt:after {
  
}

.emp-cond-tab dt.cond-2row-sp:after {
  height: 2.6em; 
}

.emp-cond-tab dd {
  width: calc(100% - 107px);
}

.work-flow h2 {
  margin-bottom: 0;
}

.work-flow ol {
  padding: 0;
  width: 100%;
  margin: 0 auto;
}

.work-flow ol li {
  
}

.work-flow-time {
  font-size: 16px;
}

.work-flow-h {
  font-size: 16px;
  font-weight: 500;
}

.aplic {
  
}

.aplic .destination {
  width: 80%;
}

.aplic .destination p {
  
}

.aplic .tell-number {
  padding-left: 15px;
  background-size: 16px;
}

.tabs {
  border-top: 2px solid;
}

.tabs.no-border {
  border-top: none;
}

.tab-content.no-border {
  border-top: none;
}

.tab-item {
  width: calc((100vw / 2) - 3px)!important;
}

.tab-item h2 {
  font-size: 16px;
}

.tab-item.not-active h2 {
  font-size: 15px;
  line-height: 42px;
}

.tab-item.tab-sp-left {
  margin-left: -16px;
}

.tab-item.tab-sp-right {
  margin-right: -16px;
}

.tab-item.tab-sp-top {
  transform: translateY(-2px);
}

.tab-item.tab-sp-bottom {
  transform: translateY(2px);
}

.tab-item.tab-sp-left.tab-sp-top {
  border-radius: 0 0 4px 0;
}

.tab-item.tab-sp-left.tab-sp-bottom {
  border-radius: 0 4px 0 0;
}

.tab-item.tab-sp-right.tab-sp-top {
  border-radius: 0 0 0 4px;
}

.tab-item.tab-sp-right.tab-sp-bottom {
  border-radius: 4px 0 0 0;
}

.tab-item.active {
  border: none;
  width: calc((100vw / 2) - 5px)!important;
}

.tab-item.tab-sp-left.active {
  border-right: 2px solid;
}

.tab-item.tab-sp-right.active {
  border-left: 2px solid;
}

.tab-item.tab-sp-top.active {
  border-bottom: 2px solid;
}

.tab-item.tab-sp-bottom.active {
  border-top: 2px solid;
}

.tab-item.tab-sp-top.select-bottom {
  transform: translateY(-2px);
}

.tab-item.tab-sp-top.select-top.not-active {
  border-top: 2px solid;
}

.tab-item.tab-sp-bottom.select-bottom.not-active {
  border-bottom: 2px solid;
}

.tabs input:disabled + .tab-item {
  display: block;
}

.tab-3col:nth-of-type(3) {
  margin-right: 6px;
}

.graph {
  width: 100%;
}

.recruit-access-map {
  margin-bottom: 12px;
  margin-right: -5px;
}

.accordion-area.schedule-accordion-area {
  height: 200px;
}

.show-more-button.schedule-more-button {
  width: calc(100% - 2px);
}

.box.no-recruit {
  margin-top: 8px;
  margin-bottom: 70px;
}

.box.no-recruit .no-recruit-title {
  font-size: 18px;
}

.box.no-recruit .no-recruit-description {
  font-size: 11px;
}
/*------ 採用情報 end ------*/

/*------ お知らせ start ------*/
#content-title {
  font-size: 21px;
  padding: 0 0 10px 0;
}

#content-submission-date {
  font-size: 12px;
  padding: 0;
}

#content-submission-date::before {
  left: 2px;
  top: 0px;
}

#ql-editor {
  font-size: 12px;
  line-height: 1.4em;
  padding: 16px 0px;
}

#ql-editor img {
  max-width: 100%;
  width: auto;
}

#content-links {
  display: flex;
  font-size: 12px;
  justify-content: space-evenly;
  margin: 0 auto;
  padding: 0 0 30px 0;
  width: 70%;
}

#category-list,
#category-list-4-pc {
  width: 100%;
}

#label-list {
  width: 100%;
}

.footer-category-and-label {
  padding: 0 0 0 0;
  width: calc(100% - 32px);
  margin: 0 auto;
}

.footer-category-and-label-on-blog-list {
    width: 100%;
    margin: 0 0;
}
/*------ お知らせ end ------*/


/*------ Blog start ------*/
.blog_list_box {

}

.blog_entry_box {
  display: none;
  width: 100%;
}

.blog_entry_box_inner {

}

.blog_entry_time {

}

.blog_to_detail {
  
}

.blog_list_pagination_box {
  display: none;
  width: 100%;
  margin-bottom: 60px;
}

.pagenation-container {
  display: flex;
  justify-content: center;
  margin: 10px 0 20px 0
}

.pagenation-container .current-page
.pagenation-container .next-page-button
.pagenation-container .number-of-page-button
.pagenation-container .previous-page-button {
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  height: 35px;
  justify-content: center;
  text-align: center
}

.pagenation-container .next-page-button
.pagenation-container .previous-page-button {
  background-color: #fff;
  border: 1px solid;
  box-shadow: 1px 1px 1px rgba(159,159,159,.6);
  font-size: 12px;
  width: 46px
}

.pagenation-container .previous-page-button {
  margin: 0 18px 0 3px
}

.pagenation-container .next-page-button {
  margin: 0 0 0 18px
}

.pagenation-container .current-page {
  font-size: 11px;
  margin: 2px 3px 0 3px;
  width: 35px
}

.pagenation-container .number-of-page-button {
  background-color: #fff;
  border: 1px solid;
  border-radius: 4px;
  box-shadow: 1px 1px 1px rgba(159,159,159,.6);
  font-size: 11px;
  margin: 0 3px 0 3px;
  width: 35px
}

@media print,screen and (max-width: 375px) {
  #previous-page-button {
      margin:0 9px 0 3px
  }

  #next-page-button {
      margin: 0 0 0 9px
  }
}

/*------ Blog end ------*/

/*------ Instagram start ------*/
.ig-img {
  height: 110px;
}

.trim {
  width: 80px;
  height: 80px;
}

.ig-profile {
  padding-top: 20px;
  margin-bottom: 30px;
  line-height: 150%;
  font-size: 15px;
}

.video-js .vjs-tech {
  height: 110px;
}

.vjs-button > .vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  left: -30%;
}

.video-js .vjs-control {
  margin-right: -5%;
  padding-right: 18%;
}

@media only screen and ( max-width : 375px ) {
  .ig-img {
    height: 90px;
  }

  .video-js .vjs-tech {
    height: 90px;
  }

  .video-js .vjs-control {
    margin-right: -20%;
    padding-right: 16%;
  }

  @media ( max-width : 320px ) {
    .ig-img {
      height: 70px;
    }

    .video-js .vjs-tech {
      height: 70px;
    }

    .video-js .vjs-control {
      margin-right: -30%;
      padding-right: 16%;
    }
  }
}

/*------ Instagram end ------*/

#contents.accordion-contents {
  width: 100% !important;
  margin: 0 0 !important;
}

#recruit-3,#recruit-5 {
  border-bottom: 1px solid;
  font-size: 18px;
  font-weight: 500;
}

#recruit-2 section h2 {
  border-bottom: 1px solid;
  font-size: 18px;
  font-weight: 500;
}

.font-size-inherit {
  font-size: inherit !important;
}
