@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.bolk {
  font-family: source-han-sans-japanese, sans-serif;
}
.urw {
  font-family: urw-din, sans-serif;
}
.fadeInUp {
  opacity: 0;
  transition-duration: 3s;
}
.fadeInUp.on {
  opacity: 1;
}
.mainVisual {
  position: relative;
}
.mainVisual::after {
  width: 100%;
  height: 376px;
  position: absolute;
  left: 50%;
  bottom: 0px;
  transform: translateX(-50%);
  background: url("../images/index/webp/main_bg.webp") no-repeat center bottom / 100%;
  content: '';
}
.no-webp .mainVisual::after {
  background-image: url("../images/index/main_bg.png");
}
.mainVisual .textBox {
  margin-top: -6px;
  position: absolute;
  top: 50%;
  left: 100px;
  z-index: 10;
  transform: translateY(-50%);
}
.mainVisual .textBox p {
  padding-left: 20px;
  margin-bottom: 0px;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
  position: relative;
}
.mainVisual .textBox p::before {
  position: absolute;
  width: 8px;
  height: 46px;
  background-color: #03004C;
  top: 6px;
  left: 0;
  content: '';
}
.mainVisual .textBox h2 {
  margin-bottom: 28px;
  font-size: 3.6rem;
  line-height: 1.66;
  letter-spacing: 0.15em;
  font-weight: 300;
}
.mainVisual .txtBox a {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  position: absolute;
  right: 60px;
  bottom: 10px;
  width: 220px;
  height: 220px;
  background-color: #fff;
  border-radius: 100%;
  border: 1px solid #03004C;
  text-align: center;
  z-index: 10;
}
/*.mainVisual .txtBox a::before {
  width: 32px;
  height: 6px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 32px;
  position: absolute;
  content: '';
  background: url("../images/common/webp/arrow01.webp") no-repeat center bottom / 32px;
}*/
.no-webp .mainVisual .txtBox a::before {
  background: url("../images/common/arrow01.png") no-repeat center bottom / 32px;
}
.mainVisual .txtBox a::after {
  position: absolute;
  width: 188px;
  height: 188px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  content: '';
  background-color: #EFEFEF;
  border-radius: 100%;
  z-index: -1;
  transition: .3s;
}
@media all and (min-width: 897px) {
  .mainVisual .txtBox a:hover {
    opacity: 1;
  }
  /*.mainVisual .txtBox a:hover::after {
    background-color: #8FD3F5;
  }*/
}
.mainVisual .txtBox img {
margin: -27px 0 5px 0px;
  width: 75px;
}

.sunrockers img {
    width: 400px;
}
.sunrockers {
    text-align: center;
    margin-top: 4em;
	margin-bottom: 3rem;
}

.mainVisual .txtBox span {
  width: 100%;
  font-size: 1.8rem;
  letter-spacing: 0.115em;
  line-height: 1.33;
}
.mainVisual .slideUl li img {
    width: 100%;
}
.topBox {
  padding: 53px 0 120px;
  background-color: #fff;
  margin-top: -4px;
}
.topBox .navUl {
  margin-bottom: 43px;
  display: flex;
}
.topBox .navUl li {
  margin: 0 8px;
}
.topBox .navUl li:first-child {
  margin-left: 0;
}
.topBox .navUl li:last-child {
  margin-right: 0;
}
.topBox .navUl li a {
  color: #03004C;
  font-size: 1.4rem;
  letter-spacing: 0;
}
.topBox .navUl li a.eng_text{
    font-size: 10px;
    padding-left: 5px;
}
@media all and (min-width: 897px) {
  .topBox .navUl li a:hover {
    text-decoration: underline;
    opacity: 1;
  }
}
/* newsBox */
.newsBox {
  padding: 32px 0 28px;
  border-top: 2px solid #f7f7f7;
  border-bottom: 2px solid #f7f7f7;
  color: #03004C;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.newsBox .title {
  margin-right: 67px;
  width: 88px;
  text-align: right;
  font-size: 2.1rem;
  font-weight: normal;
  font-family: urw-din, sans-serif;
  letter-spacing: 0.05em;
}
.newsBox .newsDl {
  color: #03004C;
  flex: 1;
  margin-top: 1px;
}
.newsBox .newsDl dt {
  float: left;
  font-size: 1.7rem;
  font-family: urw-din, sans-serif;
}
.newsBox .newsDl dd {
  padding: 2px 0 5px 8.2em;
  font-size: 1.4rem;
}
.newsBox .newsDl dd:last-child {
  padding-bottom: 0;
}
.newsBox .newsDl a {
  color: #03004C;
}
.newsBox .moreBtn {
  margin-top: -9px;
  position: absolute;
  top: 50%;
  right: 27px;
}
/* moreBtn */
.moreBtn {
  line-height: 1 !important;
}
.moreBtn a {
  padding-right: 12px;
  font-size: 1.4rem;
  font-family: urw-din, sans-serif;
  display: inline-block;
  position: relative;
  line-height: 1 !important;
  letter-spacing: 0.02em;
}
.moreBtn a::after {
  width: 6px;
  height: 9px;
  position: absolute;
  top: 3px;
  right: 0;
  background: url("../images/common/webp/arrow02.webp") no-repeat left top / 6px;
  content: "";
}
.no-webp .moreBtn a::after {
  background: url("../images/common/arrow02.png") no-repeat left top / 6px;
}
@media all and (min-width: 897px) {
  .newsBox .newsDl a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  .moreBtn a:hover {
    text-decoration: underline;
    opacity: 1;
  }
}
.information {
  padding-bottom: 75px;
  background-color: #fff;
}
.recommend {
  padding: 94px 0 144px;
  background-color: #F7F7F7;
}
.recommend .headLine01 {
  margin-bottom: 46px;
}
.recommend .headLine01 span::before {
  display: none;
}
.phoBox {
  margin-bottom: 118px;
  position: relative;
  overflow: hidden;
}
.phoBox::after {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  background: url("../images/index/webp/pho_bg02.webp") no-repeat center bottom /cover;
  content: '';
  margin-left: 0;
}
.no-webp .phoBox::after {
  background: url("../images/index/pho_bg02.png") no-repeat center bottom / cover;
}
.phoBox img {
  width: 100%;
}
.about {
  padding-bottom: 99px;
}
.about .headLine01 {
  margin-bottom: 71px;
}
.about .imgBox {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.about .imgBox .textBox {
  max-width: 405px;
}
.about .imgBox .textBox .comTxt {
  margin-bottom: 45px;
  line-height: 1.5;
  font-size: 2.4rem;
}
.about .imgBox .textBox .comText {
  margin-bottom: 42px;
  line-height: 1.5;
  font-size: 1.8rem;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}
.about .imgBox .textBox p {
  margin-bottom: 45px;
  line-height: 1.85;
  font-size: 1.4rem;
}
.about .imgBox .photoBox {
  max-width: 451px;
  position: absolute;
  top: -143px;
  right: -100px;
  z-index: 5;
}
.about .comBtn a {
  font-size: 1.6rem;
  padding: 18px 10px 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.features {
  padding: 118px 0 125px;
  background-color: #fff;
  position: relative;
}
.features::after {
  width: 1200px;
  height: 724px;
  position: absolute;
  top: -1px;
  right: 0;
  content: '';
  z-index: 1;
  background: url("../images/index/webp/features_bg.webp") no-repeat right top / 1200px;
}
.no-webp .features::after {
  background: url("../images/index/features_bg.png") no-repeat right top / 1200px;
}
.features .headLine01 {
  margin-bottom: 53px;
}
.features .listUl {
  margin-top: -65px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 5;
}
.features .listUl li {
  margin: 65px 40px 0 0;
  width: calc(100%/3 - 27px);
}
.features .listUl li:nth-child(3n) {
  margin-right: 0;
}
.features .listUl .img {
  margin-bottom: 20px;
}
.features .listUl .img img {
  border-radius: 18px;
}
.features .listUl .ttl {
  padding-bottom: 22px;
  margin-bottom: 17px;
  font-size: 1.8rem;
  line-height: 1.44;
  text-align: center;
  border-bottom: 2px solid #EFEFEF;
}
.features .listUl p {
  font-size: 1.4rem;
  line-height: 1.86;
}
.innerBox {
  padding: 0 20px;
  background: linear-gradient(180deg, #fff 0%, #FFF calc(100% - 127px), #F7F7F7 calc(100% - 126px), #F7F7F7 100%);
}
.innerBox02 {
  background: linear-gradient(0, #fff 0%, #FFF calc(100% - 127px), #F7F7F7 calc(100% - 126px), #F7F7F7 100%);
}
.innerBox03 {
  background: #fff;
}
.innerBox .box {
  margin: 0 auto;
  padding: 42px 0 5px;
  min-height: 415px;
  max-width: 1150px;
  color: #fff;
  position: relative;
  z-index: 5;
  background: url("../images/index/webp/photo07.webp") no-repeat top right / cover;
  border-radius: 30px;
  overflow: hidden;
}
.no-webp .innerBox .box {
  background: url("../images/index/photo07.png") no-repeat top right / cover;
}
.innerBox h2 {
  margin-bottom: 42px;
  font-size: 2.8rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.42;
}
.innerBox h2 span {
  position: relative;
}
.innerBox h2 span::after {
  margin-left: -3px;
  position: absolute;
  width: 6px;
  height: 6px;
  background-color: #fff;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  content: '';
  border-radius: 100%;
}
.innerBox .txtUl {
  margin-bottom: 42px;
}
.innerBox .txtUl li {
  margin-top: 6px;
  padding: 1px 0 1px 32px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  position: relative;
}
.innerBox .txtUl li::before {
  width: 23px;
  height: 22px;
  position: absolute;
  top: 53%;
  left: -1px;
  transform: translateY(-50%);
  content: '';
  background: url("../images/index/webp/icon01.webp") no-repeat left center / 22.5px;
}
.no-webp .innerBox .txtUl li::before {
  background: url("../images/index/icon01.png") no-repeat left center / 22.5px;
}
.innerBox .comBtn a {
  font-size: 1.6rem;
  padding: 17px 10px 17px;
}
.innerBox02 .box {
  min-height: 250px;
  padding: 49px 0 5px;
  background-image: url("../images/index/webp/photo17.webp");
}
.no-webp .innerBox02 .box {
  background-image: url("../images/index/photo17.png");
}
.innerBox02 h2 {
  margin-bottom: 37px;
}
.innerBox02 p {
  max-width: 300px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.857;
}
.innerBox03 .box {
  padding: 68px 0 5px;
  background-image: url("../images/index/webp/photo15.webp");
}
.no-webp .innerBox03 .box {
  background-image: url("../images/index/photo15.png");
}
.innerBox03 p {
  margin-bottom: 43px;
  max-width: 450px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.857;
}
.innerBox03 h2 {
  margin-bottom: 36px;
}
.innerBox03 .img {
  max-width: 450px;
}
.treatments {
  padding: 119px 0 10px;
}
.treatments .comText {
  margin-bottom: 99px;
}
.treatments .linkUl {
  margin: -25px -50px 25px 0;
  display: flex;
  flex-wrap: wrap;
}
.treatments .linkUl li {
  margin: 25px 25px 0 0;
  width: 150px;
  height: 150px;
  position: relative;
}
.treatments .linkUl li a {
  height: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  color: #03004C;
  font-size: 1.4rem;
  position: relative;
  z-index: 5;
  background-color: #fff;
  border-radius: 100%;
  border: 10px solid #FFF;
  box-sizing: border-box;
}
.treatments .linkUl li span {
  width: 100%;
  text-align: center;
}
.treatments .linkUl li img {
  margin-bottom: 12px;
  width: 53px;
}
.treatments .listUl li img {
  width: 100%;
}
@media all and (min-width: 897px) {
  .treatments .linkUl a:hover {
    transition: .3s;
    background-color: #C7E9FA;
  }
  .treatments .linkUl li a:hover {
    opacity: 1;
  }
  .treatments .linkUl li:nth-child(5n) {
    margin-right: 0;
  }
  .treatments .listUl {
    margin: -50px -50px 120px 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .treatments .listUl li {
    margin: 50px 50px 0 0;
    width: calc(100%/2 - 25px);
  }
  .treatments .listUl li:nth-child(2n) {
    margin-right: 0;
  }
}
.treatments .listUl {
  margin: 0 -50px 119px 0;
  max-width: 850px;
}
.innerCenBox {
  margin: 0 -50px 120px 0;
}
.innerCenBox .box {
  padding: 63px 50px 72px;
  background-color: #fff;
  border-radius: 20px;
  position: relative;
}
.innerCenBox h2 {
  padding: 4px 2px 6px;
  display: block;
  max-width: 750px;
  width: 100%;
  color: #fff;
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #03004D;
  border-radius: 45px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.innerCenBox .txtBox p {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.86;
}
.innerCenBox .txtBox p small {
  display: block;
  font-size: 1.2rem;
}
.innerCenBox .txtBox p .txtLine {
  display: inline-block;
  position: relative;
}
.innerCenBox .txtBox p .txtLine span {
  position: relative;
  z-index: 2;
}
.innerCenBox .txtBox p .txtLine::after {
  position: absolute;
  left: 0;
  bottom: 5px;
  height: 6px;
  width: 100%;
  border-radius: 6px;
  content: '';
  background-color: #8FD3F5;
  z-index: 1;
}
.innerCenBox .txtBox ul {
  margin-top: -12px;
  margin-left: 100px;
}
.innerCenBox .txtBox li {
  margin-top: 15px;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.43;
  letter-spacing: 0.1em;
}
.innerCenBox .txtBox li span {
  line-height: 1.5;
  text-align: center;
  padding: 4px 10px 5px 12px;
  background-color: #C9E8FC;
  box-sizing: border-box;
  border-radius: 45px;
  margin-right: 14px;
  margin-top: -2px;
  letter-spacing: 0.05em;
}
.innerCenBox .comBtn {
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  width: 100%;
  max-width: 300px;
}
.innerCenBox .comBtn a {
  padding: 18px 10px 17px;
  font-size: 1.6rem;
}
@media all and (min-width: 897px) {
  .innerCenBox .txtBox {
    display: flex;
    justify-content: space-between;
    position: relative;
  }
  .innerCenBox .txtBox::after {
    position: absolute;
    left: calc(50% - 78px);
    top: 10px;
    height: calc(100% - 10px);
    content: '';
    width: 2px;
    background: #EFEFEF;
  }
  .innerCenBox .txtBox p {
    max-width: 250px;
  }
}
.doctor {
  padding: 119px 0 50px;
  background-color: #fff;
}
.doctor .content {
  position: relative;
}
.doctor .headLine01 {
  position: relative;
  z-index: 6;
}
.doctor .photo {
  width: 436px;
  position: absolute;
  top: -100px;
  right: -35px;
  z-index: 5;
}
.doctor .ttl {
  margin-bottom: 42px;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.doctor .txt {
  margin-bottom: 57px;
  display: flex;
  align-items: center;
}
.doctor .txt small {
  margin-right: 43px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.42;
}
.doctor .txt span {
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
.doctor p {
  margin-bottom: 45px;
  font-size: 1.4rem;
  line-height: 1.857;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}
.doctor .comBtn a {
  margin: 0 auto;
}
.phoBox02 {
  margin-bottom: 0;
}
.phoBox02::after {
  margin-left: 0;
  bottom: -1px;
  background-image: url("../images/index/webp/pho_bg03.webp");
}
.phoBox02 .wave::after {
  transform: translateX(-55%);
}
.no-webp .phoBox02 .wave::after {
  background-image: url("../images/index/pho_bg03.png");
}
.phoBox02 .wave02 .wave::after {
  transform: translateX(-55%);
}
.introduction {
  padding: 94px 0 125px;
  background-color: #fff;
}
.introduction .headLine01 {
  margin-bottom: 46px;
}
.introduction .slickUl {
  margin-bottom: 45px;
}
.introduction .slickUl a {
  color: #03004C;
}
.introduction .slickUl .img {
  margin-bottom: 25px;
}
.introduction .slickUl h3 {
  margin-bottom: 17px;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.44;
  letter-spacing: 0.1em;
  text-align: center;
}
.introduction .slickUl p {
  font-size: 1.3rem;
  line-height: 1.846;
  letter-spacing: 0.05em;
}
.introduction .comBtn a {
  margin: 0 auto;
}
.group {
  padding-bottom: 122px;
  padding-top: 119px;
  background-color: #fff;
}
.group .headLine01 {
  margin-bottom: 52px;
}
.group .linkUl {
  margin-top: -21px;
  display: flex;
  flex-wrap: wrap;
}
.group .linkUl li {
  margin: 21px 100px 0 0;
  width: calc(100%/3 - 67px);
  text-align: center;
}
.pb_txt{
	margin: auto;
	margin-bottom: 0px;
	margin-top: 50px;
	width: 100%;
	box-shadow: 0 0 6px #444;
}
@media all and (min-width: 897px) {
  .group .linkUl li:nth-child(3n) {
    margin-right: 0;
  }
}
.group .linkUl li a {
  color: #03004C;
  display: block;
}
.group .linkUl .img {
  margin-bottom: 12px;
}
.group .linkUl li .topTxt {
  margin-bottom: 1px;
  font-size: 1.1rem;
  white-space: nowrap;
}
.group .linkUl li p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
.group .linkUl li .txt {
  position: relative;
  background: url("../images/index/webp/group_icon.webp") no-repeat right 7px center / 10px;
}
.no-webp .group .linkUl li .txt {
  background: url("../images/index/group_icon.png") no-repeat right 7px center / 10px;
}
@media all and (-ms-high-contrast:none) {
  .mainVisual::after {
    bottom: 3px;
  }
}

/*20241002*/
.mainVisual .txtBox span.highlight  {
	color: #35A1E2;
	font-size:27px;
	font-weight: bold;
}

@media (max-width: 750px)  {
.mainVisual .txtBox span.highlight  {
	color: #35A1E2;
	font-size: 18px;
	font-weight: bold;
}
	
    .mainVisual .txtBox img {
        margin: -19px 0px -5px 0px;
        width: 54px;
    }
}

span.facility-name {
    background: #cd7822;
    color: #fff;
    font-size: 30px;
    padding: 15px;
}

.comBtn a.fn-space {
    margin-bottom: 40px;
}

@media (max-width: 750px) {
    span.facility-name {
        font-size: 20px;
        padding: 10px;
        display: block;
        width: 100%;
        text-align: center;
    }
}