header h1 {
  position: relative;
  margin-bottom: 150px;
  opacity: 1;
  z-index: 10;
  text-align: center;
}
header h1 a, header h1 img {
  /*width:206px;
height:206px;*/
  width: 226px;
  height: 226px;
  opacity: 1;
}
header h1 span {
  display: block;
  margin: 20px auto 0;
  font-weight: 600;
  color: #fff;
  font-size: 19px;
}
.mainvisual_outer {
  height: 100vh;
}
#mainvisual {}
/*.top_catch{
	
}*/
.top_catch p {
  width:100%;
  height:auto;
  max-width:1080px;
  font-weight: 500;
  color: #fff;
  position: relative;
  left: 50%;
  top:70px;
  transform: translateX(calc(-50% + 120px));
  font-family: 'Amiri', serif;
  font-size: 32px;
  text-shadow:
  rgba(124, 124, 124, 0.5) 2px 2px 2px,
  rgba(124, 124, 124, 0.5) -2px 2px 2px,
  rgba(124, 124, 124, 0.5) 2px -2px 2px,
  rgba(124, 124, 124, 0.5) -2px -2px 2px;
}
.top_catch p span:nth-of-type(1),.top_catch p span:nth-of-type(2),.top_catch p span:nth-of-type(3){
	position:relative;
	letter-spacing:0.01em;
	font-size:2em;
	display: inline-block;
  	min-width: fit-content;
}
.top_catch p span:nth-of-type(1)::before,.top_catch p span:nth-of-type(2)::before,.top_catch p span:nth-of-type(3)::before{
	content:"";
	display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: -7px;
    left: 0;
	z-index: -1;
	background-color:rgba(225, 197, 130, 0.5);;
	mix-blend-mode: multiply;
}
.top_catch p span:nth-of-type(1){
	padding-right:25px;
}
.top_catch p span:nth-of-type(2){
	top:112px;
	right:244px;
	padding-left:25px;
}
.top_catch p span:nth-of-type(3){
  	position: absolute;
	width: calc(100% - 230px);
	font-size:1em;
	top:275px;
	left:0;
	padding:5px 25px;
	text-align: center;
}
.top_catch p span:nth-of-type(3)::before{
	top:-3px;
	background: linear-gradient(45deg,
    rgba(90, 95, 92, 0.5),    /* 少し暗い影（シャドウ） */
    rgba(126, 131, 127, 0.5), /* ベースカラー */
    rgba(180, 185, 180, 0.5), /* 明るめのグレーグリーン（ハイライト） */
    rgba(255, 255, 255, 0.3), /* ソフトな白で光を演出 */
    rgba(126, 131, 127, 0.5), /* ベースに戻す */
    rgba(90, 95, 92, 0.5)     /* 端に影を落とす */
  );
}
.top_catch p span small{
	font-size: 80%;
  	vertical-align: middle;
}
.top_banner02 {
  position: absolute;
  right: 52px;
  top: 25px;
  /* left: 379px;
  bottom: 120px;*/
}
.top_banner01 {
  position: absolute;
  right: 52px;
  bottom: 102px;
}
.top_banner03 {
  position: absolute;
  left: 52px;
  /*  right: -10px;*/
  top: 25px;
}
.top_banner03 img {
  /*width: 60%;*/
  width: 77%;
  height: auto;
}
.top_banner04 {
  position: absolute;
  left: 52px;
  bottom: 120px;
}
.top_banner04 a {
  transition: 0.2s ease-in-out;
}
.top_banner04 a:hover {
  opacity: 0.7;
}
.top_banner04 img {
  width: 60%;
  height: auto;
}
.top_banner05 {
  position: absolute;
  left: 370px;
  bottom: 120px;
}
.top_banner05 img {
  width: 300px;
  height: auto;
}
.top_covid {
  position: absolute;
  left: 52px;
  bottom: 102px;
}
.top_covid img {
  width: 60%;
  height: auto;
}
#container {
  padding-top: 0;
  padding-bottom: 0;
}
.top_doctor {
  padding-top: 106px;
  margin-bottom: -0;
}
.top_doctor_bg01 {
  height: calc(100% - 493px);
}
.top_feature {
  position: relative;
  /*padding-top: 126px;*/
  padding-top: 70px;
}
.top_bannar_area ul {
  display: flex;
  justify-content: center;
  gap: 30px;
}
.top_bannar_area ul li a {
  transition: .3s;
}
.top_bannar_area ul li a:hover {
  opacity: 0.7;
}
.top_banner.banner_slider {
  position: relative;
  width: 1200px;
  margin: 0 auto 36px;
}
/* ----- スライダーバナー ----- */
#bannerSlider .splide {
  position: relative;
  z-index: 1;
}
#bannerSlider .splide__inner {
  position: relative;
  z-index: 1;
  padding: 0 20px;
}
/* スライドの設定  */
#bannerSlider .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#bannerSlider .splide__slide a {
  transition: .3s;
}
#bannerSlider .splide__slide a:hover {
  opacity: 0.7;
}
/* スライダーのArrowボタン */
#bannerSlider .bannerSlider_arrow {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  padding: 4px;
  background: rgba(222, 202, 181, 0.8);
  border-radius: 50%;
  cursor: pointer;
  transform: translateY(-50%);
}
#bannerSlider .bannerSlider_arrow span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 1px 0;
  background: #c4a580;
  border-radius: 50%;
  font-size: 80%;
  transition: background 0.2s;
}
#bannerSlider .bannerSlider_arrow:hover span {
  background: #EAEAEA;
}
#bannerSlider .bannerSlider_arrow_prev {
  left: 0;
}
#bannerSlider .bannerSlider_arrow_prev span {
  position: relative;
}
#bannerSlider .bannerSlider_arrow_prev span::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../images/arrow04.svg") no-repeat center center / 100%;
  transform: scaleX(-1);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleX(-1);
}
#bannerSlider .bannerSlider_arrow_next {
  right: 0;
}
#bannerSlider .bannerSlider_arrow_next span::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../images/arrow04.svg") no-repeat center center / 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* ページネーション */
#bannerSlider .bannerSlider_pagination {
  z-index: 1;
  display: flex;
  gap: 15px;
  margin: 30px auto 0;
  bottom: -30px;
}
#bannerSlider .bannerSlider_page {
  width: 12px;
  height: 12px;
  background-color: #e8e8e8;
  border: none;
  border-radius: 50%;
  transition: background 0.2s;
  cursor: pointer;
}
#bannerSlider .bannerSlider_page.is-active {
  background: #c4a580;
}
section.top_banner .inner {
  padding: 50px 0;
}
@media screen and (max-width:1400px) {
  .top_insta_bg02 {
    left: 0;
  }
}
@media screen and (max-width:640px) {
  /* スマホ */
  #mainvisual {
    /*height: 300px;*/
    height: 440px;
  }
  #mainvisual::before {
    content: none;
    width: 0;
  }
  .top_banner02 {
    right: 5%;
    top: auto;
    bottom: 35px;
  }
  .top_banner01 {
    left: 5%;
    right: auto;
    top: 25px;
  }
  .top_banner01 img {
    width: calc(317px * 0.6);
    height: calc(173px * 0.6);
  }
  .top_banner02 img {
    width: calc(214px * 0.6);
    height: calc(152px * 0.6);
  }
  .mainvisual_outer {
    height: 582px;
  }
  .mainvisual_outer::before {
    content: "";
    position: absolute;
    background-color: #333;
    height: /*800px*/ /*613px*/ 753px;
    width: 84%;
    top: 0;
    right: 16%;
    z-index: -99;
  }
  .top_covid {
    position: absolute;
    left: 5%;
    bottom: auto;
    top: 20px;
    /*bottom: 35px;*/
  }
  .top_covid img {
    width: 55%;
  }
  .top_banner03 {
    position: absolute;
    right: 7%;
    left: auto;
    top: 25px;
    /*width: 30%;
		max-width: 115px;*/
    width: 35%;
    max-width: 130px;
  }
  .top_banner03 img {
    width: 100%;
  }
  .top_banner04 {
    left: 5%;
    bottom: 35px;
    width: 42%;
  }
  .top_banner04 img {
    width: 100%;
  }
  .top_banner05_wrap {
    text-align: center;
    margin: 0 auto;
  }
  .top_banner05 {
    bottom: -145px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 400px;
  }
  .top_banner05 img {
    width: 80%;
  }
	.mainvisual_catch{
		max-width: 100%;
		width: 100%;
		margin: 0 5%;
          /*overflow-x: hidden;*/
	}
  .top_catch{
	position: relative;
	max-width:100%;
	width:100%;
  }
  .top_catch p {
	max-width:100%;
    left: 0%;
    top:70px;
	transform: translateX(0%);
    /*font-size: 5.2vw;*/
  }

.top_catch p span:nth-of-type(1), .top_catch p span:nth-of-type(2), .top_catch p span:nth-of-type(3){
		width: 100%;
		position:absolute;
		font-size: 30px;
	
	}
.top_catch p span:nth-of-type(1)::before, .top_catch p span:nth-of-type(2)::before, .top_catch p span:nth-of-type(3)::before{
		top: -4px;
	}
	.top_catch p span:nth-of-type(1){
		width: auto;
		bottom:35px;
	}
	.top_catch p span:nth-of-type(2){
		width: auto;
		top: 21px;
		right: 0;
	}
	.top_catch p span:nth-of-type(3){
		top:90px;
		left: 50%;
    	transform: translatex(-50%);
		line-height: 1.2em;
    	font-size: 20px;

	}
  .top_doctor {
    padding-top: 60px;
  }
  .top_doctor_bg01 {
    display: none;
  }
  .top_nintei {
    position: relative;
    min-width: auto;
    padding-top: 189px;
  }
  .nintei_wrap {
    width: 95%;
    padding: 10px 5px;
  }
  .nintei_wrap p {
    font-size: 14px;
  }
  .top_feature {
    padding-top: 0;
    margin-top: /*100px */ /*135px*/ /*280px*/ 44px;
	overflow-x: hidden;
  }
  .top_banner.banner_slider {
    width: 100%;
  }
  .mainvisual_outer {
    height: 500px/*564px*/;
  }
  .mainvisual_outer::before {
    height: 730px;
  }
  .nintei_wrap {
    width: 100%;
    padding: 5px;
  }
  .top_nintei {
    padding-top: 0;
  }
  .top_bannar_area {
    margin-top: 70px;
    padding: 2% 0;
    text-align: center;
  }
  .top_bannar_area ul {
    flex-direction: column;
  }
}
@media screen and (max-width:480px) {
  .top_doctor_bg01 {}
}
@media screen and (max-width:320px) {
  .top_doctor_bg01 {}
  .top_catch p {
    font-size: 3vw;
  }
}