@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap");
/*------------------------------------------------------------
	basic
------------------------------------------------------------*/
body {
  -webkit-text-size-adjust: 100%;
  font-family: YakuHanMP, "Noto Serif", "Noto Serif JP", '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-size: min(1.07vw,18px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #23211f;
  background: url(../images/common/bg.jpg) left top/100% repeat-y;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.125vw;
    line-height: 1.875;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
  }
}

body.fixed {
  overflow: hidden;
}

img {
  vertical-align: middle;
  border: none;
}

a {
  color: #23211f;
}

@media screen and (min-width: 769px) {
  a {
    opacity: 1;
    -webkit-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
  }
  a:hover {
    opacity: 0.7;
  }
}

li {
  list-style: none;
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.rightTxt {
  text-align: right;
}

.leftTxt {
  text-align: left;
}

.centerTxt {
  text-align: center;
}

.tategaki {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .sp._inline {
    display: inline;
  }
  .sp._inline-block {
    display: inline-block;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
  margin: 0 auto;
}

.inner {
  max-width: min(71.43vw,1200px);
  margin: auto;
  padding-left: 0;
}

#concept {
  padding: 0 3% min(6.55vw,110px);
  position: relative;
}

@media screen and (max-width: 768px) {
  #concept {
    padding: 6.51042vw 5.20833vw 16.27604vw;
  }
}

#concept::before {
  content: "";
  display: block;
  width: min(28.93vw,486px);
  height: min(30.18vw,507px);
  background: url(../images/about/clinics_symbol.png) center/contain no-repeat;
  position: absolute;
  right: min(1.79vw,30px);
  top: min(-5.95vw,-100px);
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #concept::before {
    width: 44.27083vw;
    height: 46.22396vw;
    right: -1.30208vw;
    top: -11.45833vw;
  }
}

#concept .txtWrap {
  width: 75%;
  margin: auto;
  /*@include mq_min {
            order: 2;
        } */
}

@media screen and (max-width: 768px) {
  #concept .txtWrap {
    width: 100%;
  }
}

#concept .txtWrap h2 {
  margin-bottom: min(2.38vw,40px);
  text-align: center;
}

@media screen and (max-width: 768px) {
  #concept .txtWrap h2 {
    margin-bottom: 6.51042vw;
  }
}

#concept .txtWrap h2::after {
  content: "";
  display: block;
  background-color: #b00000;
  font-size: min(1.07vw,18px);
  width: 3em;
  height: 2px;
  margin: 2em auto 1em;
}

@media screen and (max-width: 768px) {
  #concept .txtWrap h2::after {
    font-size: 2.86458vw;
    margin: 3.90625vw auto 2.60417vw;
  }
}

#concept .txtWrap p {
  margin: min(2.38vw,40px) 0;
  line-height: 2.5;
}

@media screen and (max-width: 768px) {
  #concept .txtWrap p {
    margin: 5.20833vw 0;
  }
}

#concept .txtWrap p.bold {
  font-size: 1.7em;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: min(2.98vw,50px);
}

@media screen and (max-width: 768px) {
  #concept .txtWrap p.bold {
    font-size: 1.4em;
    margin-bottom: 7.16146vw;
  }
}

#concept .txtWrap .logo {
  width: 30%;
  margin: min(4.76vw,80px) auto 0;
}

@media screen and (max-width: 768px) {
  #concept .txtWrap .logo {
    width: 50%;
    margin-top: 6.51042vw;
  }
}

#concept .img {
  width: min(38.1vw,640px);
  height: auto;
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  #concept .img {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  #concept .img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

#clinics {
  padding: min(5.95vw,100px) 3%;
  background: url(../images/about/clinics_bg.png) top left/cover;
  position: relative;
  /* &::before {
        content: "";
        display: block;
        width: unquote('min(28.93vw,486px)');
        height: unquote('min(30.18vw,507px)');
        background: url(../images/about/clinics_symbol.png) center/contain no-repeat;
        position: absolute;
        right: unquote('min(-0.6vw,-10px)');
        top: unquote('min(-8.27vw,-140px)');
        @include mq_max {
            width: vw(340);
            height: vw(355);
            right: vw(-10);
            top: vw(-88);
        }
    } */
}

@media screen and (max-width: 768px) {
  #clinics {
    padding: 22.13542vw 5.20833vw 13.02083vw;
  }
}

#clinics h2 {
  text-align: center;
}

#clinics h2 span::before {
  margin-left: auto;
  margin-right: auto;
}

#clinics h3.ttl {
  font-size: min(2.38vw,40px);
  color: #8c6b3e;
  padding-bottom: min(1.19vw,20px);
  border-bottom: 1px solid #cbc3ba;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  #clinics h3.ttl {
    font-size: 5.20833vw;
    padding-bottom: 2.60417vw;
  }
}

#clinics h3.ttl .small {
  color: #cbc3ba;
  font-size: .75em;
  margin-left: 1em;
}

#clinics .clinics_list {
  margin: min(2.38vw,40px) auto min(5.95vw,100px);
}

@media screen and (max-width: 768px) {
  #clinics .clinics_list {
    margin: 7.8125vw auto 11.71875vw;
  }
}

#clinics .clinics_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  padding: min(1.79vw,30px) min(1.49vw,25px) min(1.79vw,30px) min(2.68vw,45px);
  -webkit-box-shadow: 0px 0px 40px -5px rgba(138, 138, 138, 0.15);
  box-shadow: 0px 0px 40px -5px rgba(138, 138, 138, 0.15);
  margin: min(1.19vw,20px) auto;
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap {
    display: block;
    margin: 5.20833vw auto 11.71875vw;
    padding: 7.8125vw 5.20833vw;
  }
}

#clinics .clinics_wrap .txtwrap {
  width: min(30.36vw,510px);
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap .txtwrap {
    width: 100%;
  }
}

#clinics .clinics_wrap .txtwrap .ttl {
  font-size: min(2.02vw,34px);
  margin-bottom: min(0.6vw,10px);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap .txtwrap .ttl {
    font-size: 4.42708vw;
    margin-bottom: 1.30208vw;
  }
}

#clinics .clinics_wrap .txtwrap .sub_ttl {
  font-size: min(1.19vw,20px);
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap .txtwrap .sub_ttl {
    font-size: 3.38542vw;
  }
}

#clinics .clinics_wrap .txtwrap .sub_ttl.coming {
  color: #cbc3ba;
}

#clinics .clinics_wrap .txtwrap .txt {
  font-size: min(0.95vw,16px);
  margin: min(1.49vw,25px) auto min(1.19vw,20px);
  line-height: 1.85;
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap .txtwrap .txt {
    font-size: 3.125vw;
    margin: 2.60417vw auto 3.90625vw;
  }
}

#clinics .clinics_wrap .txtwrap .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.79vw,30px);
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap .txtwrap .btn_wrap {
    gap: 3.90625vw;
    margin: 3.90625vw auto 5.20833vw;
  }
  #clinics .clinics_wrap .txtwrap .btn_wrap .btn {
    width: 35.15625vw;
  }
}

#clinics .clinics_wrap .img {
  width: min(32.62vw,548px);
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  #clinics .clinics_wrap .img {
    width: 100%;
  }
}

#guides {
  background-color: #e3dfd9;
  padding: min(5.95vw,100px) 3%;
}

@media screen and (max-width: 768px) {
  #guides {
    padding: 13.02083vw 5.20833vw;
  }
}

#guides h2 {
  text-align: center;
}

#guides h2 span::before {
  margin-left: auto;
  margin-right: auto;
}

#guides .guides_list {
  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;
  gap: min(1.79vw,30px);
  margin-top: min(2.68vw,45px);
}

@media screen and (max-width: 768px) {
  #guides .guides_list {
    gap: 3.90625vw;
    margin-top: 7.8125vw;
  }
}

#guides .guides_list .btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: min(22.32vw,375px);
  height: min(5.54vw,93px);
  background-color: #fff;
  border: none;
  font-size: min(1.25vw,21px);
  padding: 1em 1.5em 1em 1em;
  position: relative;
}

@media screen and (max-width: 768px) {
  #guides .guides_list .btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 42.31771vw;
    height: 11.06771vw;
    font-size: 3.125vw;
    line-height: 1.2;
  }
}

#guides .guides_list .btn::after {
  position: absolute;
  right: min(1.19vw,20px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

@media screen and (max-width: 768px) {
  #guides .guides_list .btn::after {
    right: 3.125vw;
  }
}

@media screen and (min-width: 769px) {
  #guides .guides_list .btn {
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
  }
  #guides .guides_list .btn:hover::after {
    -webkit-transform: translate(5px, -50%);
    -ms-transform: translate(5px, -50%);
    transform: translate(5px, -50%);
  }
}

@media screen and (max-width: 768px) {
  #profile {
    padding: 0 5.20833vw;
  }
}

#profile h3 {
  font-size: min(2.38vw,40px);
  color: #8c6b3e;
  font-weight: 400;
  text-align: center;
  width: 100%;
  margin-bottom: min(3.57vw,60px);
}

@media screen and (max-width: 768px) {
  #profile h3 {
    font-size: 5.20833vw;
    margin-bottom: 7.16146vw;
  }
}

#profile h3 span {
  display: block;
  font-size: min(1.19vw,20px);
  color: #23211f;
  margin-top: min(1.19vw,20px);
}

@media screen and (max-width: 768px) {
  #profile h3 span {
    font-size: 3.125vw;
    margin-top: 1.30208vw;
  }
}

#profile .txtWrap {
  width: min(33.93vw,570px);
}

@media screen and (min-width: 769px) {
  #profile .txtWrap {
    margin-left: auto;
  }
}

@media screen and (max-width: 768px) {
  #profile .txtWrap {
    width: 100%;
  }
}

#profile .txtWrap p {
  font-size: min(1.07vw,18px);
  line-height: 1.8;
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  #profile .txtWrap p {
    font-size: 3.125vw;
  }
}

#profile .img {
  width: min(33.93vw,570px);
}

@media screen and (min-width: 769px) {
  #profile .img {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  #profile .img {
    width: 100%;
    margin-bottom: 5.20833vw;
  }
}

#profile .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.79vw,30px);
}

@media screen and (max-width: 768px) {
  #profile .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
  }
}

.m_ttl {
  font-size: min(1.67vw,28px);
  color: #8c6b3e;
  font-weight: 400;
  text-align: center;
  width: 100%;
  margin-bottom: min(1.79vw,30px);
  padding: min(0.89vw,15px);
  border-top: 1px solid #cbc3ba;
  border-bottom: 1px solid #cbc3ba;
}

@media screen and (max-width: 768px) {
  .m_ttl {
    font-size: 3.64583vw;
    margin-bottom: 5.20833vw;
    padding: 1.95313vw;
  }
}

.information {
  margin-block: min(4.76vw,80px);
}

@media screen and (max-width: 768px) {
  .information {
    margin-block: 9.11458vw;
  }
}

.information .text {
  font-size: min(1.19vw,20px);
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .information .text {
    font-size: 3.125vw;
  }
}

.information .text a {
  text-decoration: underline;
}

.information .map {
  width: 100%;
  height: min(33.33vw,560px);
  margin: min(2.98vw,50px) auto min(1.79vw,30px);
}

@media screen and (max-width: 768px) {
  .information .map {
    height: 41.66667vw;
    margin: 6.51042vw auto 4.55729vw;
  }
}

.information .map iframe {
  width: 100%;
  height: 100%;
}

.information .access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .information .access {
    display: block;
  }
}

.information .access .txt {
  font-size: min(1.19vw,20px);
}

@media screen and (max-width: 768px) {
  .information .access .txt {
    font-size: 3.125vw;
  }
}

.information .access .txt .small {
  font-size: min(0.95vw,16px);
}

@media screen and (max-width: 768px) {
  .information .access .txt .small {
    font-size: 3.125vw;
  }
}

.information .access .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: min(1.79vw,30px);
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .information .access .btn_wrap {
    gap: 3.90625vw;
    margin: 3.90625vw auto 5.20833vw;
  }
  .information .access .btn_wrap .btn {
    width: 35.15625vw;
  }
}

.access_sec {
  margin-top: min(4.76vw,80px);
  padding-bottom: min(7.14vw,120px);
  font-size: min(1.07vw,18px);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .access_sec {
    margin-top: 13.02083vw;
    padding: 0 5.20833vw 23.4375vw;
    font-size: 3.125vw;
  }
}

.access_sec .access_department {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: min(2.68vw,45px) auto min(3.57vw,60px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department {
    display: block;
    margin: 6.77083vw auto 7.8125vw;
  }
}

.access_sec .access_department .department {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department {
    width: 100%;
    padding: 0;
  }
  .access_sec .access_department .department:first-child {
    margin-bottom: 10.41667vw;
  }
}

.access_sec .access_department .department h4 {
  font-size: min(1.67vw,28px);
  font-weight: 400;
  margin-bottom: min(2.38vw,40px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department h4 {
    font-size: 5.20833vw;
    margin-bottom: 5.20833vw;
  }
}

.access_sec .access_department .department_wrap {
  width: min(27.68vw,465px);
  margin: auto;
  text-align: left;
  font-size: min(0.95vw,16px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap {
    width: 100%;
    font-size: 3.125vw;
  }
}

.access_sec .access_department .department_wrap table {
  width: 100%;
  margin-bottom: min(0.6vw,10px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap table {
    margin-bottom: 2.60417vw;
  }
}

.access_sec .access_department .department_wrap table th, .access_sec .access_department .department_wrap table td {
  border-bottom: 1px solid #c8c8c8;
  font-weight: 500;
  padding: .5em 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap table th, .access_sec .access_department .department_wrap table td {
    font-size: 2.99479vw;
    padding: 1.04167vw 0;
  }
}

.access_sec .access_department .department_wrap table td {
  font-size: min(1.19vw,20px);
  padding: 1em 0;
  width: 9.5%;
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap table td {
    font-size: 3.38542vw;
    padding: 2.60417vw 0;
  }
}

.access_sec .access_department .department_wrap table tbody th {
  text-align: left;
  width: 24%;
}

.access_sec .access_department .department_wrap .txt {
  line-height: 2;
}

.access_sec .access_department .department_wrap .bold {
  font-weight: 700;
}

.access_sec .access_department .department_wrap dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: min(1.19vw,20px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap dl {
    margin: 2.60417vw auto 1.30208vw;
  }
}

.access_sec .access_department .department_wrap dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: min(5.06vw,85px);
  height: min(1.61vw,27px);
  border: 1px solid #848484;
  text-align: center;
  margin-bottom: min(0.6vw,10px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap dl dt {
    width: 14.32292vw;
    height: 6.51042vw;
    font-size: 2.86458vw;
    margin-bottom: 1.5625vw;
  }
}

.access_sec .access_department .department_wrap dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: min(1.49vw,25px);
  width: min(22.62vw,380px);
  margin-bottom: min(0.6vw,10px);
  padding-left: min(0.71vw,12px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap dl dd {
    width: 72.65625vw;
    min-height: 6.51042vw;
    padding-left: 2.34375vw;
    font-size: 3.125vw;
    margin-bottom: 1.5625vw;
  }
}

.access_sec .access_department .department_wrap dl dd a {
  text-decoration: underline;
}

.access_sec .access_department .department_wrap .notes {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.8;
  font-size: min(0.83vw,14px);
}

@media screen and (max-width: 768px) {
  .access_sec .access_department .department_wrap .notes {
    font-size: 3.125vw;
    line-height: 1.5;
  }
}

.access_sec .btn_wrap {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: min(2.38vw,40px);
  margin-top: min(1.19vw,20px);
}

@media screen and (max-width: 768px) {
  .access_sec .btn_wrap {
    margin-top: 5.85938vw;
    gap: 5.20833vw;
  }
  .access_sec .btn_wrap .btn {
    width: 40.36458vw;
  }
}
