@charset "utf-8";
/*-------------- 医院ごとのパーツ -----------------*/
/*-- LINEバナーサイズ調整 --*/
.line-banner {
  width: 200px;
  margin: 20px 50px 0 50px;
}

/*-- 診療時間背景 --*/
.wrapper.hour {
  background-image: url(../img/c5/bg-hour.jpg);
}

/*--採用ページの電話ボタンの端はみ出し防止--*/
.recruit-tell-button {
  width: auto;
  max-width: 260px;
}

@media only screen and (max-width: 428px) {
  /*アクセス画像サイズ調整*/
  .access-img-A {
    width: 100%;
    margin-right: 0px;
    margin-bottom: 20px;
  }
  .access-img-B {
    width: 100%;
    margin-right: 0px;
    margin-bottom: 20px;
  }
  /*横幅396～413pxでメインスライド画像の端が切れないようにする*/
  .slide-images {
    width: 100%;
  }
  .recruit-tell-button {
    max-width: 230px;
  }
}

h2.sec2:before,
h2.sec2:after {
  top: 15%;
}

/*---ロゴ上下幅調整---*/
.header-logo {
  margin-top: 2px;
  margin-bottom: 2px;
}

/*---電話番号上下幅調整---*/
.header-right {
  margin-top: 1px;
  margin-bottom: 1px;
}

/*-- 採用情報バナーサイズ調整 --*/
.recruit-banner {
  width: 300px;
  margin-top: 20px;
}

/*-- グローバルメニューサイズ調整 --*/

@media only screen and (min-width: 1050px) {
  .global-navi ul {
    width: 1032px;
  }
}

@media only screen and (max-width: 1050px) {
  .global-navi {
    height: auto;
    width: 100%;
  }

  .global-navi ul {
    width: 100%;
    text-align: center;
  }

  .global-navi ul li {
    margin-bottom: 10px;
    padding: 2px 14px;
    width: auto;
  }
}

a.initiatives-link {
  color: #EBEBEB;
}



/*ここからLINE導線追加*/
html {
  overflow-x: clip;
}

body {
  overflow-x: hidden;
}

.header-right {
  display: flex;
  position: relative;
}

.line-yoyaku {
  border-bottom: 1px solid #EBEBEB;
  border-top: 1px solid #EBEBEB;
  margin: 12px 14px 0 14px;
}

.line-yoyaku a {
  align-items: center;
  color: #EBEBEB;
  display: flex;
  font-family: 'Noto Serif JP', serif;
  font-size: 20px;
  font-weight: bold;
  gap: 4px;
  padding: 5px 0;
  text-decoration: none;
}

.line-yoyaku img {
  width: 20px;
}

.line-yoyaku {
  order: 2;
}

.tell-number {
  order: 1;
}

/*---ロゴ調整---*/
@media only screen and (max-width: 1050px) {
  .header-logo {
    margin: 14px 0 8px;
    width: 85%;
  }

  @media only screen and ( max-width : 980px ) {
    .header-logo {
      height: auto;
      margin: 10px 0 4px 8px;
      width: 60%;
    }
  }

  @media only screen and ( max-width : 640px ) {
    .header-logo {
      margin: 10px 0 4px 8px;
      width: 80%;
    }
  }
}


@media only screen and (max-width: 1050px) {
  .tell-number,
  .line-yoyaku,
  .header-right::before {
    display: none;
  }

  .header-right {
    display: flex;
    flex: 1;
    width: auto;
  }

  .header-left{
    text-align: left;
  }

  .header-inner {
    padding: 0;
  }

  .sp-menu {
    background: linear-gradient(180deg, #293c6b 10%, #0c1a3b 50%);
    display: flex;
    height: 70px;
    justify-content: flex-end;
    width: 100%;
  }

  .sp-menu > * {
    align-items: center;
    display: flex;
    flex: 1;
    justify-content: center;
    position: relative;
  }

  .sp-menu > *:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,0.3);
  }

  .sp-menu a:nth-child(1) img {
    content: none;
  }

  #sp-menu-hbm-area {
    align-items: center;
    display: flex;
    justify-content: center;
    position: relative;
  }

  .sp-menu-tel-btn {
    height: 70px;
    width: 70px;
  }

  .sp-menu-hbm-btn {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .sp-menu-tel-btn,
  .sp-menu a {
    font-size: 11px;
  }

  .sp-menu-tel-btn img {
    width: 22px;
  }

  .sp-menu a {
    align-items: center;
    display: flex;
    gap: 4px;
    justify-content: center;
    white-space: nowrap;
  }

/*-- SP用 ハンバーガーメニュー layout-types-sp.css引用--*/
  #sp-menu-hbm-area {
    height: 70px;
    width: 70px;
  }

  #sp-menu-hbm-area nav {
    -webkit-overflow-scrolling: touch;
    bottom: 0;
    display: block;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    top: 70px;
    transition: all .5s;
    width: 0;
    z-index: 3;
  }

  .open#sp-menu-hbm-area nav {
    opacity: 1;
    right: 0;
    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 {
    border-bottom: 1px solid;
    margin: 0;
    position: relative;
  }

  #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-btn {
    cursor: pointer;
    display: block;
    height: 30px;
    position: absolute;
    right: 10px;
    top: 15px;
    transition: all .5s;
    width: 30px;
    z-index: 3;
  }

  .sp-menu-hbm-btn span {
    border-radius: 4px;
    display: block;
    height: 2px;
    left: 3px;
    position: absolute;
    transition: all .5s;
    width: 25px;
  }

  .sp-menu-hbm-btn > div {
    font-size: 10px;
    position: absolute;
    top: 27px;
  }

  .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-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 {
    cursor: pointer;
    display: block;
    height: 100%;
    left: 0;
    opacity: .0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
  }

  /* SP用 nav 見た目調整　color-05.css引用 */
  #sp-menu-hbm-area nav .sp-item {
    display: block !important;
  }

  .sp-global-navi ul li {
    border-bottom-color: #42619e;
  }

  .sp-global-navi ul li a {
    color: #ebebeb;
  }

  .sp-global-navi {
    margin: 0 0 20px 0;
  }

  .sp-global-navi ul li {
    border-bottom: 1px solid #42619e;
    width: 100%;
  }

  .sp-global-navi ul li a {
    display: block;
    list-style: none;
    padding: 15px 20px 13px 40px;
    position: relative;
    text-align: left;
  }

  footer .sp-global-navi ul li:last-child {
    border-bottom: none;
  }
}

@media only screen and (max-width: 428px) {
  .header-logo {
    display: block;
    max-width: 160px;
    width: auto;
  }

  .sp-menu {
    height: 50px;
  }

  .sp-menu-tel-btn {
    height: 50px;
    width: 50px;
  }

  .sp-menu-hbm-btn {
    top: 5px;
  }

  #sp-menu-hbm-area {
    height: 50px;
    top: 0;
    width: 50px;
  }

  #sp-menu-hbm-area nav {
    top: 50px;
  }

  .header-left {
    width: fit-content;
  }

/*-- SP用 スティッキー parts-sp.css引用--*/
  .sticky-btns-area {
    display: flex;
    overflow: hidden;
  }

  .sticky-btns-area a {
    padding: 11px 8px;
    white-space: nowrap;
  }

  .sticky-btns-area a.two-btns {
    border: 1px solid;
    display: inline-block;
    font-size: 15px;
    margin: 10px 5px;
    width: calc(100% / 2 - 20px);
  }

  .sticky-btns-area a.yoyaku {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: center;
  }

  .sticky-btns-area a.yoyaku::before {
    display: none;
  }

  .sticky-btns-area .yoyaku img {
    height: 24px;
    object-fit: contain;
    width: 24px;
  }
}
