@charset "UTF-8";

/* 特徴 
-------------------------- */
.features {
  
}
.features {
  padding: 0px 0px 70px 0px;
  
}
@media (max-width : 500px) {
  .features {
    padding: 0px 0px 40px 0px;
  }
}
.features-mess {
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
  margin-bottom: 30px;
  position: relative;
}
.features-mess::before {
	content: "";
	display: inline-block;
	width: 611px;
	height: 574px;
	background-image: url("../images/tree02.png");
  background-repeat: no-repeat;
  background-size: cover;
	position: absolute;
	bottom: -34px;
	right: -50px;
  z-index: 0;
}
@media (max-width : 500px) {
  .features-mess {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 40px;
    margin-bottom: 10px;
  }
  .features-mess::before {
    background: none;
  }
}
.features-mess .img {
  width: 48%;
  order:1;
}
.features-mess .messbox {
  width: 46%;
  order:2;
  display: flex;
  align-items: center;
}
.messbox p {
  padding-top: 20px;
}
@media (max-width : 1024px) {
  .features-mess .img {
    width: 40%;
  }
  .features-mess .messbox {
    width: 54%;
  }
}
@media (max-width : 500px) {
  .features-mess .img {
    width: 100%;
    margin-top: 20px;
  }
  .features-mess .messbox {
    width: 100%;
  }
}
.features-device {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
  margin-bottom: 30px;
}
.features-device .messbox {
  width: 46%;
  display: flex;
  align-items: center;
}
.features-device .img {
  width: 50%;
}
@media (max-width : 1024px) {
  .features-device .messbox {
    width: 56%;
    display: flex;
    align-items: center;
  }
  .features-device .img {
    width: 40%;
  }
}
@media (max-width : 500px) {
  .features-device {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 40px;
    margin-bottom: 0px;
  }
  .features-device .messbox {
    width: 100%;
  }
  .features-device .img {
    width: 100%;
    margin-top: 15px;
  }
  .features-device .morebtn {
    display: none;
  }
}
p.device-name {
  width: 88%;
  margin-left: auto;
  margin-right: auto;
  padding: 8px 20px;
  display: table;
  background-color: #ad8236;
  color: #fff;
  font-size: 85%;
  line-height: 1.3em;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-top: -15px;
}
.features-device p.device-name {
  width: 48%;
}
@media (max-width : 900px) {
  p.device-name {
    width: 80% !important;
  }
}
.features-device2 {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
 }
.features-device2 .imgs {
  width: 24%;
}
.features-device2 .morebtn {
  display: none;
}

@media (max-width : 500px) {
  .features-device2 {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 0px;
  }
  .features-device2 .imgs {
    width: 100%;
    margin-top: 15px;
  }
  .features-device2 .morebtn {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
}
/* スライド */
.carousel-container {
  width: 100%;
  overflow: hidden;
}
.carousel-track {
  display: flex;
  width: max-content;
  animation: scroll 60s linear infinite;
}
.carousel-slide {
  flex-shrink: 0;
  width: 338px;
  height: 283px;
  margin-right: 10px;
}
@media (max-width : 1024px) {
  .carousel-slide {
    width: 214px;
    height: 179px;
  }
}
@media (max-width : 500px) {
  .carousel-slide {
    width: 214px;
    height: 179px;
  }
}
.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  } /* スライド全体の半分をループ */
}

/* 連携医療機関 */
.affiliated-hospital {
  position: relative;
}
.affiliated-hospital .backimg {
  height: 560px;
  overflow: hidden;
}
@media (max-width : 900px) {
  .affiliated-hospital .backimg {
    height: auto;
    overflow: visible;
    line-height: 0;
  }
}
.affiliated-hospital .topcolor {
  background-color: rgba(64,33,15,0.1);
  position: absolute;
	z-index: 2;
  width: 100%;
  height: 100%;
}
.affiliated-hospital .hospitals {
  background-color: rgba(255,255,255,0.9);
  padding: 70px 70px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  width: 90%;
  max-width: 1360px;
}
@media (max-width : 900px) {
  .affiliated-hospital .hospitals {
    padding: 30px 30px;
  }
}
.hospitals p {
  text-align: center;
  padding: 20px 0 26px 0;
}
@media (max-width : 500px) {
  .hospitals p {
    padding: 14px 0 16px 0;
  }
}
.hospitals ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width : 500px) {
  .hospitals ul {
    display: block;
  }
}
.hospitals ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 24.5%;
  height: 64px;
  padding: 0 20px;
  background-color: rgba(197,174,178,0.3);
  border: #40210f solid 1px;
  font-size: 88%;
  line-height: 1.3em;
}
.hospitals ul li:nth-child(1) {
  margin-left: 12.6%;
}
.hospitals ul li:nth-child(3) {
  margin-right: 12.6%;
}
.hospitals ul li:nth-of-type(n+4) {
  margin-top: 8px;
}
@media (max-width : 1024px) {
  .hospitals ul li {
    height: 54px;
    padding: 0 10px;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 80%;
  }
  .hospitals ul li:nth-of-type(-n+3) {
    width: 32.66%;
  }
}
@media (max-width : 500px) {
  .hospitals ul li {
    width: 100% !important;
    height: 42px;
    font-size: 88%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .hospitals ul li:nth-of-type(n+2) {
    margin-top: 6px !important;
  }
}


/* 共通 
-------------------------- */
h2.topmd {
  font-size: 200%;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #40210f;
  text-align: center;
  padding-bottom: 8px;
}
@media (max-width : 900px) {
  h2.topmd {
    font-size: 175%;
    padding-bottom: 2px;
  }
}
@media (max-width : 500px) {
  h2.topmd {
    font-size: 155%;
    padding-bottom: 2px;
  }
}
.enmd {
  font-size: 76%;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #7c0404;
  text-align: center;
  letter-spacing: 0.06em;
  position: relative;
}
.enmd::after{
  content:'';
  width: 80px;
  height: 2px;
  background-color:#40210f;
  position:absolute;
  bottom: -16px;
  left:50%;
  transform: translateX(-50%)
}
@media (max-width : 500px) {
  .enmd::after{
    width: 50px;
    bottom: -8px;
  }
}

/* ■見出し */
.md-wrap {
  display: table;
  border-bottom: #40210f solid 2px;
}
@media (max-width : 500px) {
  .md-wrap {
    display: block;
    border-bottom: #40210f solid 2px;
  }
}
.md-wrap.mdtype1 {
  display: block;
}
.txc {
  text-align: center;
}
.md-common-top {
  color: #282828;
  font-size: 160%;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  padding-bottom: 14px;
  position: relative;
  z-index: 10;
}
span.square {
  position: relative;
}
span.square::before {
	content: "";
	display: inline-block;
	width: 37px;
	height: 37px;
	background-color: #d1c8c1;
	position: absolute;
	top: -10px;
	left: -20px;
  z-index: -1;
}
.square.type2::before {
	width: 37px;
	height: 37px;
	top: -10px;
	left: -22px;
}
@media (max-width : 900px) {
  .md-common-top {
    font-size: 145%;
  }
  span.square::before {
    width: 30px;
	  height: 30px;
    top: -7px;
	  left: -17px;
  }
}
@media (max-width : 500px) {
  .md-common-top {
    font-size: 130%;
    text-align: center;
  }
  span.square::before {
    width: 26px;
	  height: 26px;
    top: -7px;
	  left: -17px;
  }
}



p.morebtn {
  display: table;
  margin-top: 25px;
}
p.morebtn a {
  display: block;
  background-color: #40210f;
  line-height: 100%;
  padding: 10px 28px 12px 18px;
  font-size: 90%;
  color: #fff;
}
p.morebtn a:hover {
  background-color: #6e4c40;
}
.arrow a {
  position: relative;
  padding-right: 35px !important;
}
.arrow a:before {
  content: '';
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  margin: auto;
}


.c-overview {
	max-width: 930px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 60px;
}
@media (max-width : 500px) {
  .c-overview {
    padding-top: 40px;
  }
}
table.type1  {
	width: 100%;
	border-collapse: collapse;
	line-height: 2.0em;
	margin-top: 30px;
}
table.type1 th,
table.type1 td {
	padding-top: 23px;
	padding-bottom: 22px;
	font-weight: normal;
}
@media (max-width : 500px) {
  table.type1  {
    margin-top: 15px;
    line-height: 1.4em;
  }
  table.type1 th,
  table.type1 td {
    padding-top: 13px;
    padding-bottom: 12px;
  }
}
table.type1 th {
	border-bottom: #40210f solid 2px;
  border-right: #fff solid 10px;
	vertical-align: middle;
	text-align: left;
  width: 20%;
  color: #40210f;
  font-weight: 500;
  white-space: nowrap;
  padding-left: 20px;
}
@media (max-width : 500px) {
  table.type1 th {
    width: 24%;
    padding-left: 0px;
  }
}
table.type1 td {
	border-bottom: #bababa solid 1px;
  padding-left: 20px;
}
@media (max-width : 500px) {
  table.type1 td {
    padding-left: 10px;
  }
}
table.type1 th:nth-of-type(1) {
  border-top: #40210f solid 2px;
}
table.type1 td:nth-of-type(1) {
  border-top: #bababa solid 1px;
}

.c-photo {
	max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  /*gap: 20px 20px;*/
}
.c-photo .box:nth-child(-n+4) {
  /*flex: 0 0 calc((100% - 40px) / 2);*/
  width: 49.3%;
}
.c-photo .box:nth-child(n+5) {
  /*flex: 0 0 calc((100% - 30px) / 4);*/
  width: 24%;
}
.c-photo .box:nth-child(n+3) {
  margin-top: 15px;
}
.c-photo .box p {
  font-size: 90%;
}
@media (max-width : 500px) {
  .c-photo {
    padding-top: 30px;
  }
  .c-photo .box:nth-child(-n+4) {
    width: 100%;
  }
  .c-photo .box:nth-child(n+5) {
    width: 48.5%;
  }
  .c-photo .box:nth-child(n+2) {
    margin-top: 10px;
  }
  .c-photo .box p {
    font-size: 85%;
    text-align: center;
  }
}

