@charset "utf-8";

/*============================================
  base.css
  全パターン共通のスタイル定義
==============================================*/

body {
  margin: 0;
  padding: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

header {
  margin: 0;
}

footer {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
}

dl, dt, dd {
  margin: 0;
}

img {
  width: 100%;
/*
  backface-visibility: hidden;
*/
}

/* chromeのみ限定で画像のぼやけを解消する */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
  img {
      image-rendering: -webkit-optimize-contrast;
  }
}

hr {
  height: 1px;
  border: none;
}





.acco_head {
  color: #4b7bce;
  font-size: 14px;
  padding: 15px 20px;
  cursor: pointer;
}

.acco_svg path {
  stroke: rgb(75, 123, 206);
  stroke-width: 1.5;
}

.acco_inner {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease;
}

.acco_inner.open {
  opacity: 1;
  max-height: 300px;
}

.acco_inner > a {
  padding: 6.5px 34px !important;
}

.acco_head.open + .acco_inner {
  padding-bottom: 10px;
}

.acco_svg {
  height: 6px;
  fill: none;
  margin: 0 0 2px 6px;
}

.acco_head.open .acco_svg {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
  margin: 0 0 2px 6px;
}

@media only screen and ( max-width : 428px ) {
  .acco_head {
    color: white;
  }
  
  .acco_svg path {
    stroke: white;
  }

  .header-right {
    text-align: left !important;
  }

  .available_clinic {
    margin-bottom: 30px !important;
  }

  .global-navi .acco_inner {
    transition: max-height 1s ease;
  }
}

.global-navi li {
  position: relative;
  margin-top: 10px;
}

.global-navi .acco_inner {
  position: absolute;
  width: 200px;
  left: 0;
  opacity: 0;
  background-color: white;
  border: 1px solid #2082E4;
  z-index: 1;
  box-shadow: 4px 4px 0 rgba(75, 123, 206, 0.25);
  transform: translateY(-100%);
}


.global-navi .acco_inner a {
  padding: 7px 18px !important;
  display: flex;
  text-wrap: nowrap;
  border-top: solid 1px #2082E4;
}

.global-navi .acco_inner a:first-child {
  border-top: none;
}

.global-navi .acco_head.open + .acco_inner {
  padding-bottom: 0 !important;
  z-index: 11;
}

.global-navi .acco_head {
  padding: 0px;
}

/* inlineの改行は半角の空白として認識されるため、グロナビのliタグ間に余白が空くという理由で
　 今までそれを消すためのコメントアウトで対処していたが、下記で解消できる */
.global-navi ul {
  font-size: 0;
}

.global-navi ul li {
  font-size: 14px;
}

#main .global-navi-side li:not(:last-child) {
  border-bottom: 1px solid;
  border-image: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(65,151,255,1) 13%, rgba(65,151,255,1) 87%, rgba(255,255,255,0) 100%);
  border-image-slice: 1;
}

header .sp-global-navi li:not(:last-child) {
  border-bottom: 1px solid;
  border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 13%, rgba(255, 255, 255, 1) 87%, rgba(255, 255, 255, 0) 100%);
  border-image-slice: 1;
}

footer .sp-global-navi li:not(:last-child) {
  border-bottom: 1px solid;
  border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 13%, rgba(255, 255, 255, 1) 87%, rgba(255, 255, 255, 0) 100%);
  border-image-slice: 1;
}

.available_clinic {
  align-items: center;
  color: #127ae2;
  display: flex;
  font-family: 'Noto Sans JP', sans-serif;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 50px;
  justify-content: center;
}

.available_clinic span {
  margin: 0 16px 0 16px;
}