@charset "utf-8";
#cate{
   height: 350px;
   background-image: url(../img/page/cate_hospital-clinic.jpg)!important;
}
@media screen and (max-width: 767px) {
   .hospital-clinic .heading2{
      line-height: 1.4;
   }
   #cate{
      height: 150px;
   }
}

.hospital-clinic .btn_contact {
   max-width: 300px;
   margin-left: auto;
   margin-right: auto;
}
.hospital-clinic .btn_contact a {
   padding: 1.4rem;
   text-align: center;
}

/* messages
-------------------------------------*/
.messages{
   margin: auto;
   padding: 0 2.5rem 6rem;
   text-align: center;
}
.messages .heading2{
   line-height: 1.5;
}
.messages__btn {
   max-width: 300px;
   margin: 3rem auto 0;
   padding: 0.8rem 0;
}
@media screen and (max-width: 767px) {
   .messages__conts{
      margin: -1rem 0 0;
   }
   .messages__btn {
      margin: 2rem auto 0;
   }
}

/* service
-------------------------------------*/
.service {
   background: #f2f6fe;
   padding: 3rem 2.5rem 8rem;
}
.service__messages{
   text-align: center;
   margin: -1.5em 0 1.5rem;
}
.service__list {
   display: flex;
   flex-wrap: wrap;
   list-style: none;
}
.service__list dl{
   width: 24%;
   margin-right: 1.333%;
   margin-top: 1.5%;
   padding: 2%;
   background: #fff;
   border-radius: 10px;
   border: 4px solid #cddbea;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   text-align: center;
   box-sizing: border-box;
}
@media screen and (min-width: 768px) {
   .service__list dl:nth-child(4n){
      margin-right: 0;
   }
}
.service__list dt{
   display: block;
   width: 100%;
   color: #1a5b9e;
   font-weight: 600;
   font-size: 1.1em;
   margin-bottom: .2em;
}
.service__list dd{
   font-size: .95em;
}
.service__plus{
   color: #1a5b9e;
   text-align: center;
   font-size: 4.5rem;
   margin: .2em 0;
}
.service__more{
   text-align: center;
   padding: 3% 2%;
   border-radius: 10px;
   background: #fff;
   border: 4px solid #cddbea;
}
.service__more-tit{
   color: #e7450c;
   line-height: 1.5;
   font-weight: 600;
   margin-bottom: .5em;
   font-size: 1.35em;
}
.service__partner{
   max-width: 800px;
   margin: 3rem auto 0;
   padding: 3rem;
   display: flex;
   align-items: center;
   border-radius: 8px;
   background: #cddbea;
}
.service__partner .icon{
   width: 180px;
}
.service__partner .icon img{
   width: 100%;
}
.service__partner .text{
   flex: 1;
   padding-left: 3rem;
}
.service__btn {
   max-width: 300px;
   margin: 3rem auto 0;
   padding: 0.8rem 0;
}
@media screen and (max-width: 767px) {
  .service {
      padding: 2rem 2rem 5rem;
   }
   .service__messages{
      margin: -1em 0 1.5rem;
   }
  .service__list dl{
      width: 100%;
      padding: 1.5rem 1.6rem;
      border-width: 3px;
      border-radius: 6px;
      display: block;
   }
   .service__list dt{
      position: relative;
      margin: 0;
      font-size: 1em;
      text-align: left;
   }
   .service__list dt::after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      height: 1em;
      line-height: 1;
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      content: '\2b';
      transition: transform 0.5s;
   }
   .service__list dt.open::after {
      transform: rotate(135deg);
   }
   .service__list dd{
      display: none;
      text-align: left;
      padding-top: 1.5rem;
   }
   
   .service__more{
      padding: 2.5rem 1.5rem;
   }
   .service__more-tit{
      font-size: 1.25em;
   }
   .service__more small{
      font-size: .9em;
   }
   .service__partner{
      display: block;
      margin-top: 2rem;
      padding: 2rem 2.5rem;
   }
   .service__partner .icon{
      width: 45%;
      margin: auto;
      text-align: center;
   }
   .service__partner .text{
      width: 100%;
      padding: 0;
   }
}
/* creation
-------------------------------------*/
.creation {
   padding: 3rem 2.5rem 8rem;
}
.creation__messages{
   text-align: center;
   margin: -1.5em 0 2rem;
}
.creation__list{
   display: flex;
   justify-content: space-between;
}
.creation__item{
   width: 49%;
   border-radius: 10px 10px 0 0;
   overflow: hidden;
   border: 1px solid #1a5b9e;
}
.creation__item h3{
   color: #fff;
   text-align: center;
   font-size: 1.2em;
   padding: 1.5rem;
   background: #1a5b9e;
}
.creation__item p{
   padding: 2rem 3rem;
}
@media screen and (max-width: 767px) {
  .creation {
      padding: 1rem 2rem 5rem;
   }
   .creation__messages{
      margin: -1em 0 2rem;
   }
   .creation__list{
      display: block;
   }
   .creation__item{
      width: 100%;
   }
   .creation__item+.creation__item{
      margin-top: 1.5rem;
   }
   .creation__item h3{
      padding: 1rem;
   }
}
/* price
-------------------------------------*/
.price {
   background: #f2f6fe;
   padding: 3rem 2.5rem 8rem;
}
.price__messages{
   text-align: center;
   margin: -1.5em 0 1.5rem;
}
.price p{
   text-align: center;
   margin-bottom: 2rem;
}
.price__inner{
   width: auto;
}
.price__table{
   max-width: 900px;
   border: 4px solid #cddbea;
   margin: auto;
   border-radius: 10px;
   overflow: hidden;
   background: #fff;
}
.price__table table{
   width: 100%;
}
.price__table th,
.price__table td{
   font-size: 1.15em;
   padding: 1.8rem 2rem;
   vertical-align: middle;
   border-bottom: 1px solid #ddd;
}
.price__table tr:last-child th,
.price__table tr:last-child td{
   border: none;
}
.price__table th{
   width: 68%;
   font-weight: 400;
   text-align: left;
}
.price__table td{
   color: #1a5b9e;
   font-weight: 600;
   text-align: center;
   background: #f3f3f3;
}
.price__table th span{
   display: block;
   font-size: .7em;
}
@media screen and (max-width: 767px) {
   .price{
      padding: 1rem 2rem 5rem;
   }
   .price p {
       margin: -1.5rem 0 1.5rem;
   }
   .price__table th,
   .price__table td {
      font-size: 1em;
      padding: 1rem 1.2rem;
   }
   .price__table th{
      width: 70%;
      font-weight: bold;
   }
   .price__table th span,
   .price__table td span{
      display: block;
      font-size: .85em;
      font-weight: 500;
   }
   .price__table td span{
      font-weight: 400;
   }
}
/* works
-------------------------------------*/
.works {
   padding: 3rem 2.5rem 8rem;
}
.works__messages{
   text-align: center;
   margin: -1.5em 0 3rem;
}
.works__list{
   max-width: 600px;
   margin: auto;
   display: flex;
   justify-content: space-between;
}
.works__item{
   width: 47%;
}
.works__item img{
   border: 1px solid #ddd;
   padding: .3em;
}
.works__item p.tit{
   font-weight: 600;
   text-align: center;
}
.works__btn{
   margin-top: 3rem;
}
@media screen and (max-width: 767px) {
   .works{
      padding: 1rem 2rem 5rem;
   }
   .works__messages{
      margin: -1em 0 2rem;
   }
   .works__item p.kome {
       position: absolute;
      top: calc(50% - 4rem);
   }
}
/* faq
-------------------------------------*/
.faq{
   padding: 3rem 2.5rem 8rem;
   background: #e2eff7;
}
.faq__item {
   background: #fff;
   border-radius: 0.8rem;
   overflow: hidden;
   margin: 1.2rem auto;
   max-width: 900px;
   box-shadow: 0px 5px 15px rgba(26,91,158,0.2);
   transition: .2s ease 0s;
}
.faq__item-question {
   position: relative;
   cursor: pointer;
   font-weight: 600;
   font-size: 1.1em;
   padding: 2.5rem 5rem 2.5rem 5rem;
}
.faq__item-question::before,
.faq__item-question::after,
.faq__item-answer::before {
   position: absolute;
   font-family: 'Font Awesome 5 Free';
   font-weight: 900;
}
.faq__item-question::before {
   color: #1a5b9e;
   left: 2rem;
   content: '\51';
}
.faq__item-question::after {
   top: 0;
   bottom: 0;
   right: 2rem;
   margin: auto;
   content: '\2b';
   height: 1em;
   color: #999;
   font-size: 1.2em;
   line-height: 1;
   transition: transform 0.5s;
   transform: rotate(135deg);
}
.faq__item-question.open::after {
   transform: rotate(0deg);
}
.faq__item-answer {
   position: relative;
   /*display: none;*/
   padding: 3rem 2.8rem 3rem 5rem;
   background: #f6f6f6;
   margin: 0;
}
.faq__item-answer::before {
   color: #f1595a;
   left: 2rem;
   content: '\41';
}
@media screen and (max-width: 767px) {
   .faq {
      padding: 1rem 2rem 4rem;
   }
   .faq__item-question{
      padding: 1.5rem 4rem 1.5rem 4.5rem;
   }
   .faq__item-answer{
      padding: 2rem 2.8rem 2rem 5rem;
   }
   .faq__item-question::after{
      font-size: 1em;
   }
}