@charset "UTF-8";

/*--------------------------------------
　MV
---------------------------------------*/
.mv_lower {
  display: flex;
  align-items: center; 
	width: 100%;
	height: 450px;
	min-width: 1100px;
	position: relative;
  z-index: 0;
}
.mv_lower::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.2));
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: -1
}

.lower .mv_lower {
  background: url("../img/lower_mv.jpg") center center no-repeat;
  background-size: cover;
}
.access .mv_lower {
  background: url("../img/access_mv.jpg") center center no-repeat;
  background-size: cover;
}
.staff .mv_lower {
  background: url("../img/staff_mv.jpg") center center no-repeat;
  background-size: cover;
}
.about .mv_lower {
  background: url("../img/about_mv.jpg") center center no-repeat;
  background-size: cover;
}
.cat-friendly .mv_lower {
  background: url("../img/cat-friendly_mv.jpg") center center no-repeat;
  background-size: cover;
}
.certified .mv_lower {
  background: url("../img/certified_mv.jpg") center center no-repeat;
  background-size: cover;
}
.facility .mv_lower {
  background: url("../img/facility_mv.jpg") center center no-repeat;
  background-size: cover;
}
.medical .mv_lower {
  background: url("../img/medical_mv.jpg") center center no-repeat;
  background-size: cover;
}
.prevent .mv_lower {
  background: url("../img/prevent_mv.jpg") center center no-repeat;
  background-size: cover;
}
.exotic-animals .mv_lower {
  background: url("../img/exotic-animals_mv.jpg") center center no-repeat;
  background-size: cover;
}
.surgery .mv_lower {
  background: url("../img/surgery_mv.jpg") center center no-repeat;
  background-size: cover;
}
.specialize .mv_lower {
  background: url("../img/specialize_mv.jpg") center center no-repeat;
  background-size: cover;
}
.cardiology .mv_lower {
  background: url("../img/cardiology_mv.jpg") center center no-repeat;
  background-size: cover;
}
.oncology .mv_lower {
  background: url("../img/oncology_mv.jpg") center center no-repeat;
  background-size: cover;
}
.dermatology .mv_lower {
  background: url("../img/dermatology_mv.jpg") center center no-repeat;
  background-size: cover;
}
.orthopedic .mv_lower {
  background: url("../img/orthopedic_mv.jpg") center center no-repeat;
  background-size: cover;
}
.case .mv_lower {
  background: url("../img/case_mv.jpg") center center no-repeat;
  background-size: cover;
}
.trimming .mv_lower {
  background: url("../img/trimming_mv.jpg") center center no-repeat;
  background-size: cover;
}
.puppy-party .mv_lower {
  background: url("../img/puppy-party_mv.jpg") center center no-repeat;
  background-size: cover;
}
.dogrun .mv_lower {
  background: url("../img/dogrun_mv.jpg") center center no-repeat;
  background-size: cover;
}
.pet-hotel .mv_lower {
  background: url("../img/pet-hotel_mv.jpg") center center no-repeat;
  background-size: cover;
}
.to-vet .mv_lower {
  background: url("../img/to-vet_mv.jpg") center center no-repeat;
  background-size: cover;
}
.news .mv_lower {
  background: url("../img/news_mv.jpg") center center no-repeat;
  background-size: cover;
}
.ct .mv_lower {
  background: url("../img/ct_mv.jpg") center center no-repeat;
  background-size: cover;
}

.mv_lower .mv_inner {
	width: 100%;
	max-width: 1100px;
	margin: auto;
}

.mv_lower .mv_ttl {
  padding: 5rem 0 0;
  color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .mv_lower {
    width: 100%;
    height: 0;
    min-width: 100%;
    padding-top: calc(100%*480/750);
  }

  .mv_lower .mv_inner {
    max-width: 100%;
  }

  .mv_lower .mv_ttl {
    position: absolute;
    top: calc(50% + 20px);
    left: 0;
    transform: translate(0,-50%);
    width: 100%;
    padding: 0 2rem 0;
    font-size: 2.5rem;
  }
}


/*--------------------------------------
　bc-list
---------------------------------------*/
.bc-list {
	max-width: 1100px;
  margin: 2rem auto 0; 
	box-sizing: border-box;
	font-size: 1.3rem;
  text-align: right;
}
.bc-list a {
	display: inline-block;
  text-decoration: underline;
	line-height: 1.8;
}
.bc-list a:hover {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .bc-list {
    max-width: 100%;
    margin: 1.5rem auto 0;
    padding: 0 2rem;
    font-size: 1.2rem;
  }
}


/*--------------------------------------
　section
---------------------------------------*/
.contents_lower {
	width: 100%;
	min-width: 1100px;
	padding: 0 0 12rem;
}

.sec_lower {
	width: 100%;
  padding: 7rem 0 7rem;
}

.sec_lower .sec_inner {
	max-width: 1100px;
	margin: auto;
}

.sec_lower .sec_block {
	margin: 4rem 0 10rem;
}
.sec_lower .sec_block:last-child {
	margin: 4rem 0 0;
}

.sec_lower .sec_box {
	margin: 5rem 0 0;
}

.sec_lower img {
  border-radius: 16px;
}

@media screen and (max-width: 768px) {
  .contents_lower {
    width: 100%;
    min-width: 100%;
    padding: 0 0 6rem;
  }

  .sec_lower {
    padding: 4rem 2rem 4rem;
  }

  .sec_lower .sec_inner {
    max-width: 100%;
  }

  .sec_lower .sec_block {
    margin: 3rem 0 5rem;
  }
  .sec_lower .sec_block:last-child {
    margin: 3rem 0 0;
  }

  .sec_lower .sec_box {
    margin: 3rem 0 0;
  }
  
  .sec_lower img {
    border-radius: 10px;
  }
}


/*--------------------------------------
　Background
---------------------------------------*/
.bg01 {
  background: #F1F6F8;
}


/*--------------------------------------
　Title
---------------------------------------*/
/*===== h2 =====*/
.lower_ttl01 .eng_ttl {
  font-size: 2rem;
}
.lower_ttl01 .ttl {
	display: flex;
	align-items: center;
	justify-content: center;
  margin: 2rem 0 0;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.7;
  position: relative;
}
.lower_ttl01 .ttl::after {
	content: "";
	display: block;
	margin-left: 4rem;
	border-top: 1px solid #d1d1d1;
	flex-grow: 1;
}
.lower_ttl01 .ttl small {
  font-size: 2rem;
}

/*===== h3 =====*/
.lower_ttl02 .sub_ttl {
  font-size: 1.6rem;
}
.lower_ttl02 .ttl {
  margin: 2rem 0 0;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.7;
}

.lower_ttl03 .ttl {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.7;
  position: relative;
}
.lower_ttl03 .ttl::before {
  content: "";
  display: block;
  background: #013570;
  width: 32px;
  height: 1px;
  margin: 0 0 2rem;
  box-sizing: border-box;
}
.lower_ttl03 .ttl small {
  font-size: 1.8rem;
  font-weight: 500;
}

/*===== h4 =====*/
.lower_ttl04 .ttl {
  padding: 0 0 0 2rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.7;
  border-left: 1px solid #013570;
}

/*===== cc =====*/
.lower .cc {
  margin: 0 0 4rem;
  text-align: center;
}
.lower .cc span {
  display: inline-block;
  background: #013570;
  padding: 1.5rem 3rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  /*===== h2 =====*/
  .lower_ttl01 .eng_ttl {
    font-size: 1.6rem;
  }
  .lower_ttl01 .ttl {
    margin: 1.5rem 0 0;
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .lower_ttl01 .ttl::after {
    margin-left: 1.5rem;
  }
  .lower_ttl01 .ttl small {
    font-size: 1.5rem;
  }

  /*===== h3 =====*/
  .lower_ttl02 .sub_ttl {
    font-size: 1.4rem;
  }
  .lower_ttl02 .ttl {
    margin: 1.5rem 0 0;
    font-size: 2rem;
    line-height: 1.5;
  }

  .lower_ttl03 .ttl {
    font-size: 2rem;
    line-height: 1.5;
  }
  .lower_ttl03 .ttl::before {
    margin: 0 0 1rem;
  }
  .lower_ttl03 .ttl small {
    font-size: 1.3rem;
  }

  /*===== h4 =====*/
  .lower_ttl04 .ttl {
    padding: 0 0 0 1.5rem;
    font-size: 1.7rem;
    line-height: 1.5;
  }
  
  /*===== cc =====*/
  .lower .cc {
    margin: 0 0 4rem;
    text-align: center;
  }
  .lower .cc span {
    display: block;
    padding: 1.2rem 1.5rem;
    font-size: 1.7rem;
    line-height: 1.5;
  }
}


/*--------------------------------------
　Text
---------------------------------------*/
.lower .txt {
  margin: 3rem 0 0;
  font-size: 1.6rem;
  text-align: justify;
  line-height: 1.8;
}

.f_bold {
  font-weight: 700;
}
.f_bold span {
  font-weight: 700;
}

.txtLink {
  display: inline-block;
  color: #C75480;
  text-decoration: underline;
}

.caption {
  margin: 2rem 0 0;
  font-size: 1.8rem;
  font-weight: 700;
}

.number {
  margin: 3rem 0 0;
  font-size: 2rem;
}
.number .large {
  margin-right: 5px;
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  .lower .txt {
    margin: 2rem 0 0;
    font-size: 1.4rem;
  }
  
  .caption {
    margin: 1.5rem 0 0;
    font-size: 1.6rem;
  }
  
  .number {
    margin: 2rem 0 0;
    font-size: 1.6rem;
  }
  .number .large {
    margin-right: 3px;
    font-size: 2.6rem;
  }
}


/*--------------------------------------
　Tel
---------------------------------------*/
.lower .tel {
  display: inline-block;
  margin: 3rem 0 0;
  position: relative;
}
.lower .tel a {
  display: inline-block;
  pointer-events: none;
  padding-left: 3.5rem;
  font-size: 3rem;
  position: relative;
}
.lower .tel a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0,-50%);
  background: url("../img/icon_tel-pk.png") left top no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  box-sizing: border-box;
}
.lower .tel span {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .lower .tel {
    margin: 2rem 0 0;
  }
  .lower .tel a {
    pointer-events: auto;
    padding-left: 3rem;
    font-size: 2.4rem;
  }
  .lower .tel a::before {
    width: 18px;
    height: 18px;
  }
  .lower .tel span {
    display: block;
    margin: 5px 0 0;
    padding-left: 2.5rem;
    font-size: 1.4rem;
  }
}


/*--------------------------------------
　txtImg_parts
---------------------------------------*/
.txtImg_parts01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 4rem 0 0;
}
.txtImg_parts01.rev {
  flex-direction: row-reverse;
}
.txtImg_parts01 .imgBox {
  width: 45%;
}
.txtImg_parts01 .txtBox {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .txtImg_parts01 {
    display: block;
    margin: 3rem 0 0;
  }
  .txtImg_parts01 .imgBox {
    width: 100%;
  }
  .txtImg_parts01 .txtBox {
    width: 100%;
    margin: 3rem 0 0;
  }
}


/*--------------------------------------
　table_parts
---------------------------------------*/
.table_parts {
  margin: 4rem 0 0;
}

.table_parts table {
  width: 100%;
}

.table_parts table tr {
  width: 100%;
  border-bottom: 1px solid #d1d1d1;
}
.table_parts table tr:first-child {
  border-top: 1px solid #d1d1d1;
}

.table_parts table th {
  background: #F9F9F9;
  width: 25%;
  padding: 2rem 3rem;
  color: #C75480;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}

.table_parts table td {
  padding: 2rem 4rem;
  font-size: 1.6rem;
  line-height: 1.5;
}
.table_parts table td .txt {
  margin: 0 0 0;
}
.table_parts table td .ul_list {
  margin: 0 0 0;
}

@media screen and (max-width: 768px) {
  .table_parts {
    margin: 3rem 0 0;
  }

  .table_parts table th {
    width: 35%;
    padding: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }

  .table_parts table td {
    padding: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
}


/*--------------------------------------
　
---------------------------------------*/
.ul_box {
  background: #fff;
  margin: 4rem 0 0;
  padding: 4rem 8rem 3rem;
  border: 1px solid #C75480;
}

.ul_box .ul_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 0;
}
.ul_box .ul_list li {
  width: calc((100% / 2) - 30px);
}

.ul_list {
  margin: 3rem 0 0;
}
.ul_list li {
  margin: 0 0 1.5rem;
  padding: 0 0 0 2rem;
	font-size: 1.6rem;
	line-height: 1.6;
	position: relative;
}
.ul_list li:before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	background: #C75480;
	width: 12px;
	height: 12px;
	box-sizing: border-box;
	border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .ul_box {
    margin: 3rem 0 0;
    padding: 2.5rem 2rem 2rem;
  }

  .ul_box .ul_list {
    display: block;
  }
  .ul_box .ul_list li {
    width: 100%;
  }
  
  .ul_list {
    margin: 2rem 0 0;
  }
  .ul_list li {
    margin: 0 0 1rem;
    padding: 0 0 0 1.5rem;
    font-size: 1.4rem;
  }
  .ul_list li:before {
    top: 9px;
    width: 8px;
    height: 8px;
  }
}


/*--------------------------------------
　num_ttl_parts
---------------------------------------*/
.num_ttl_parts {
  margin: 4rem 0 0;
  counter-reset: numttl;
}

.num_ttl_parts .num_item {
  margin: 0 0 4rem;
}
.num_ttl_parts .num_item:last-child {
  margin: 0 0 0;
}

.num_ttl_parts .num_ttl {
  background: #F9F9F9;
  padding: 3rem 3rem 3rem 9rem;
  font-size: 2rem;
  line-height: 1.7;
  border-radius: 10px;
  position: relative;
}
.num_ttl_parts .num_ttl::before {
  counter-increment: numttl;
  content: "0" counter(numttl);
  position: absolute;
  top: 22px;
  left: 30px;
  color: rgba(199,84,128,0.3);
  font-size: 3.2rem;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}

.num_ttl_parts .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .num_ttl_parts {
    margin: 3rem 0 0;
  }

  .num_ttl_parts .num_item {
    margin: 0 0 3rem;
  }

  .num_ttl_parts .num_ttl {
    padding: 2rem 2rem 2rem 5.5rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .num_ttl_parts .num_ttl::before {
    top: 16px;
    left: 15px;
    font-size: 2.5rem;
  }
  
  .num_ttl_parts .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　num_box_parts
---------------------------------------*/
.num_box_parts {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 4rem 0 0;
  counter-reset: numboxttl;
}

.num_box_parts .num_box_item {
  background: #F9F9F9;
  width: calc((100% / 2) - 30px);
  padding: 4rem 4rem;
  border-radius: 10px;
}

.num_box_parts .num_box_ttl {
  padding: 0 0 0 5rem;
  font-size: 2rem;
  line-height: 1.7;
  position: relative;
}
.num_box_parts .num_box_ttl::before {
  counter-increment: numboxttl;
  content: "0" counter(numboxttl);
  position: absolute;
  top: -10px;
  left: 0;
  color: rgba(199,84,128,0.3);
  font-size: 3.2rem;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}

.num_box_parts .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .num_box_parts {
    display: block;
    margin: 3rem 0 0;
  }

  .num_box_parts .num_box_item {
    width: 100%;
    margin: 0 0 2rem;
    padding: 2rem 2rem;
  }
  .num_box_parts .num_box_item:last-child {
    margin: 0 0 0;
  }

  .num_box_parts .num_box_ttl {
    padding: 0 0 0 4rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .num_box_parts .num_box_ttl::before {
    top: -5px;
    font-size: 2.5rem;
  }

  .num_box_parts .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　column1_parts01
---------------------------------------*/
.column1_parts01 {
  margin: 4rem 0 0;
}
.column1_parts01 .imgBox_wrap {
  position: relative;
}
.column1_parts01 .imgBox_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.4));
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-radius: 16px;
}
.column1_parts01 .imgBox img {
  width: 100%;
	max-width: 100%;
  margin: 0 0 0;
}
.column1_parts01 .column1_ttl {
  position: absolute;
  bottom: 50px;
  left: 50px;
  right: 50px;
  font-size: 2.6rem;
  line-height: 1.7;
  z-index: 1;
}
.column1_parts01 .txt {
  margin: 3rem 0 0;
}

@media screen and (max-width: 768px) {
  .column1_parts01 {
    margin: 3rem 0 0;
  }
  .column1_parts01 .imgBox_wrap::before {
    border-radius: 10px;
  }  
  .column1_parts01 .imgBox img {
    height: 150px;
    object-fit: cover;
  }
  .column1_parts01 .column1_ttl {
    bottom: 15px;
    left: 15px;
    right: 15px;
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .column1_parts01 .txt {
    margin: 2rem 0 0;
  }  
}


/*--------------------------------------
　column2_parts
---------------------------------------*/
.column2_parts01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 4rem 0 0;
}
.column2_parts01 .column2_item {
  width: calc((100% / 2) - 30px);
}
.column2_parts01 .imgBox img {
  width: 100%;
	max-width: 100%;
  margin: 0 0 0;
}
.column2_parts01 .column2_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0 0;
  font-size: 2rem;
  line-height: 1.7;
}
.column2_parts01 .txt {
  margin: 2rem 0 0;
}

.column2_parts02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 4rem 0 0;
}
.column2_parts02 .column2_item {
  width: calc((100% / 2) - 30px);
}
.column2_parts02 .imgBox_wrap {
  position: relative;
}
.column2_parts02 .imgBox_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.4));
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-radius: 16px;
}
.column2_parts02 .imgBox img {
  width: 100%;
	max-width: 100%;
  margin: 0 0 0;
}
.column2_parts02 .column2_ttl {
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  font-size: 2rem;
  line-height: 1.7;
  z-index: 1;
}
.column2_parts02 .txt {
  margin: 3rem 0 0;
}

@media screen and (max-width: 768px) {
  .column2_parts01 {
    display: block;
    margin: 3rem 0 0;
  }
  .column2_parts01 .column2_item {
    width: 100%;
    margin: 0 0 3rem;
  }
  .column2_parts01 .column2_item:last-child {
    width: 100%;
    margin: 0 0 0;
  }
  .column2_parts01 .column2_ttl {
    display: block;
    margin: 1.5rem 0 0;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .column2_parts01 .txt {
    margin: 1.5rem 0 0;
  }

  .column2_parts02 {
    display: block;
    margin: 3rem 0 0;
  }
  .column2_parts02 .column2_item {
    width: 100%;
    margin: 0 0 3rem;
  }
  .column2_parts02 .column2_item:last-child {
    margin: 0 0 0;
  }
  .column2_parts02 .imgBox_wrap::before {
    border-radius: 10px;
  }
  .column2_parts02 .column2_ttl {
    bottom: 15px;
    left: 15px;
    right: 15px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .column2_parts02 .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　column3_parts
---------------------------------------*/
.column3_parts01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin: 4rem 0 0;
}
.column3_parts01 .column3_item {
  width: calc((100% / 3) - 20px);
  margin: 0 0 3rem;
}
.column3_parts01 .imgBox img {
  width: 100%;
	max-width: 100%;
  margin: 0 0 0;
}
.column3_parts01 .column3_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0 0;
  font-size: 2rem;
  line-height: 1.7;
}
.column3_parts01 .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .column3_parts01 {
    display: block;
    margin: 3rem 0 0;
  }
  .column3_parts01 .column3_item {
    width: 100%;
    margin: 0 0 3rem;
  }
  .column3_parts01 .column3_item:last-child {
    margin: 0 0 0;
  }
  .column3_parts01 .column3_ttl {
    display: block;
    margin: 1.5rem 0 0;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .column3_parts01 .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　com_parts01
---------------------------------------*/
.com_parts01 {
  background: #F9F9F9;
  margin: 4rem 0 0;
  padding: 3rem 4rem;
  border-radius: 10px;
}

.com_parts01 .upper {
  display: flex;
  justify-content: space-between;
}

.com_parts01 .imgBox {
  width: 360px;
}

.com_parts01 .txtBox {
  width: calc(100% - 420px);
  padding: 1.5rem 0 0;
}
.com_parts01 .txtBox .com_ttl {
  margin: 0 0 2rem;
}
.com_parts01 .txtBox .txt {
  margin: 0 0 2rem;
}
.com_parts01 .txtBox .ul_list {
  margin: 0 0 2rem;
}

.com_parts01 .com_ttl {
  margin: 3rem 0 0;
  font-size: 2rem;
  line-height: 1.7;
}

.com_parts01 .txt {
  margin: 2rem 0 0;
}

.com_parts01 .btn_pk a {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .com_parts01 {
    margin: 3rem 0 0;
    padding: 2rem 2rem;
  }

  .com_parts01 .upper {
    display: block;
  }

  .com_parts01 .imgBox {
    width: 100%;
  }

  .com_parts01 .txtBox {
    width: 100%;
    margin: 2rem 0 0;
    padding: 0 0 0;
  }
  .com_parts01 .txtBox .com_ttl {
    margin: 1.5rem 0 0;
  }
  .com_parts01 .txtBox .txt {
    margin: 1.5rem 0 0;
  }
  .com_parts01 .txtBox .ul_list {
    margin: 1.5rem 0 0;
  }

  .com_parts01 .com_ttl {
    margin: 2rem 0 0;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .com_parts01 .txt {
    margin: 1.5rem 0 0;
  }
  
  .com_parts01 .btn_pk a {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　qa_parts
---------------------------------------*/
.qa_parts {
  margin: 4rem 0 0;
  counter-reset: qtxt;
}

.qa_parts .qa_item {
  margin: 0 0 4rem;  
}
.qa_parts .qa_item:last-child {
  margin: 0 0 0;  
}

.qa_parts .q_box {
  background: #F9F9F9;
  padding: 3rem 10rem 3rem 3rem;
  border-radius: 10px;
	position: relative;
  cursor: pointer;
}
.qa_parts .q_box::before,
.qa_parts .q_box::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
  transform: translate(0,-50%);
	background: #C75480;
	width: 30px;
	height: 2px;
	transition: all 0.4s;
}
.qa_parts .q_box::after {
	transform: translate(0,-50%) rotate(90deg);
}
.qa_parts .q_box.open::before {
  display: none;
}
.qa_parts .q_box.open::after {
  transform: translate(0,-50%) rotate(180deg);
}

.qa_parts .q_txt {
  padding: 0 0 0 7rem;
  color: #C75480;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.7;
  position: relative;
}
.qa_parts .q_txt::before {
  counter-increment: qtxt;
  content: "Q" counter(qtxt) ".";
  position: absolute;
  top: -10px;
  left: 0;
  color: rgba(199,84,128,0.3);
  font-size: 3.2rem;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}

.qa_parts .a_box {
  display: none;
  margin: 3rem 0 0;
  padding: 0 0 0 5rem;
}
.qa_parts .a_box.show {
  display: block;
}

.qa_parts .a_txt {
  padding: 0 0 0 5rem;
  font-size: 1.6rem;
  text-align: justify;
  line-height: 1.8;
  position: relative;
}
.qa_parts .a_txt::before {
  content: "A.";
  position: absolute;
  top: -10px;
  left: 0;
  color: rgba(199,84,128,0.3);
  font-size: 3.2rem;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .qa_parts {
    margin: 3rem 0 0;
  }

  .qa_parts .qa_item {
    margin: 0 0 2rem;  
  }

  .qa_parts .q_box {
    padding: 2rem 4rem 2rem 1.5rem;
    border-radius: 5px;
  }
  .qa_parts .q_box::before,
  .qa_parts .q_box::after {
    right: 15px;
    width: 18px;
    height: 1px;
  }

  .qa_parts .q_txt {
    padding: 0 0 0 5rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .qa_parts .q_txt::before {
    top: -5px;
    font-size: 2.5rem;
  }

  .qa_parts .a_box {
    margin: 2rem 0 0;
    padding: 0 0 0 1.5rem;
  }
  .qa_parts .a_box.show {
    display: block;
  }

  .qa_parts .a_txt {
    padding: 0 0 0 3.5rem;
    font-size: 1.4rem;
  }
  .qa_parts .a_txt::before {
    top: -5px;
    font-size: 2.5rem;
  }
}


/*--------------------------------------
　map_parts
---------------------------------------*/
.map_parts .map {
	position: relative;
	width: 100%;
	height: 0;
	margin: auto;
	padding-top: 56.25%;
}
.map_parts iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*--------------------------------------
　movie_parts
---------------------------------------*/
.movie_parts .movie {
	position: relative;
	width: 50%;
	height: 0;
	margin: 4rem auto 0;
	padding-top: 28.12%;
}
.movie_parts .movie iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
  .movie_parts .movie {
    margin: 2rem auto 0;
  }
}




/*--------------------------------------
　medical 診療案内
---------------------------------------*/
.mediacal_info {
  align-items: stretch;
}
.mediacal_info .boxL {
  width: 45%;
}
.mediacal_info .imgBox {
  width: 100%;
  height: 100%;
}
.mediacal_info .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mediacal_info .boxR {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .mediacal_info .boxL {
    width: 100%;
  }
  .mediacal_info .imgBox {
    height: auto;
  }
  .mediacal_info .imgBox img {
    height: auto;
  }
  .mediacal_info .boxR {
    width: 100%;
    margin: 2rem 0 0;
  }  
}


/*--------------------------------------
　access アクセス
---------------------------------------*/
.access .table_parts {
  width: 50%;
  margin: 0 0 0;
}

.access .map_parts {
  width: 45%;
}

@media screen and (max-width: 768px) {
  .access .table_parts {
    width: 100%;
  }
  
  .access .map_parts {
    width: 100%;
    margin: 3rem 0 0;
  }
}


/*--------------------------------------
　staff スタッフ紹介
---------------------------------------*/
.staff .table_parts {
  margin: 3rem 0 0;
}
.staff .table_parts table th {
  padding: 1rem 2rem;
  font-size: 1.4rem;
}
.staff .table_parts table td {
  padding: 1rem 2rem;
  font-size: 1.4rem;
}
.staff .table_parts table td .txt {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .staff .table_parts {
    margin: 2rem 0 0;
  }
  .staff .table_parts table th {
    padding: 1rem 1.5rem;
  }
  .staff .table_parts table td {
    padding: 1rem 1.5rem;
  }
}


/*--------------------------------------
　prevent 予防医療
---------------------------------------*/
.prevent_table {
  width: 100%;
}

.prevent_table thead th {
  background: #013570;
  width: 6.66%;
  color: #fff;
  padding: 2rem 0;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  border-right: 1px solid #e1e1e1;
}
.prevent_table thead th:first-child {
  width: 20%;
  border-radius: 16px 0 0 0;
}
.prevent_table thead th:last-child {
  border-right: none;
  border-radius: 0 16px 0 0;
}

.prevent_table tbody th {
  background: #F1F6F8;
  padding: 2rem 0;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  border-left: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}
.prevent_table tbody th span {
  display: inline-block;
  background: #013570;
  padding: 5px 1rem;
  margin-bottom: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  border-radius: 100px;
}

.prevent_table tbody td {
  height: 70px;
  border-right: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}

.prevent_table .bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 20px);
  margin: auto;
  height: 40px;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: 500;
  white-space: nowrap;
}
.prevent_table .bar.green {
  background: #DB7093;
  color: #fff;
}
.prevent_table .bar.dashed {
  background: rgba(199,84,128,0.1);
  border: 1px dashed #C75480;
  color: #C75480;
}

@media screen and (max-width: 768px) {
  .prevent_table thead th {
    width: 6.25%;
    padding: 1rem 0;
    font-size: 2.2vw;
  }
  .prevent_table thead th:first-child {
    width: 25%;
    border-radius: 8px 0 0 0;
  }
  .prevent_table thead th:last-child {
    border-radius: 0 8px 0 0;
  }

  .prevent_table tbody th {
    padding: 1rem 0;
    font-size: 2.5vw;
  }
  .prevent_table tbody th span {
    padding: 5px 5px;
    margin-bottom: 5px;
    font-size: 1.8vw;
  }

  .prevent_table tbody td {
    height: 40px;
  }

  .prevent_table .bar {
    width: calc(100% - 10px);
    height: 25px;
    border-radius: 3px;
    font-size: 2.5vw;
  }
}


/*--------------------------------------
　news お知らせ
---------------------------------------*/
.news_parts .tabArea {
  display: flex;
  gap: 10px;
}
.news_parts .tabArea li {
  display: flex;
	justify-content: center;
	align-items: center;
  flex: 1;
	background: #adadad;
  padding: 2rem 2rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  border-radius: 16px 16px 0 0;
  position: relative;
  cursor: pointer;
  transition: all 0.3s;
}
.news_parts .tabArea li.active {
	background: #C75480;
}
.news_parts .tabArea li:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

.news_parts .tabContentsWrap {
  background: #fff;
  padding: 3rem 4rem 5rem;
  border: 1px solid #C75480;
  border-radius: 0 0 16px 16px;
}
.news_parts .tabContents {
  display: none;
}
.news_parts .tabContents.show {
  display: block;
}


/*----- pagination -----*/
.pagination {
  margin: 5rem 0 0;
}
.page-numbers {
	text-align: center;
}
.page-numbers li {
	display: inline-block;
  width: 45px;
  height: 45px;
	line-height: 45px;
	font-size: 15px;
	margin: 0 5px;
}
.page-numbers a {
	display: inline-block;
	text-decoration: none;
}
.page-numbers span {
	display: inline-block;
  width: 100%;
  height: 100%;
}
.page-numbers span.current {
	background: #C75480;
	color: #fff;
  border-radius: 6px;
}

@media screen and (max-width: 768px) {
  .news_parts .tabArea {
    gap: 4px;
  }
  .news_parts .tabArea li {
    padding: 1.5rem 8px;
    font-size: 2.8vw;
    border-radius: 10px 10px 0 0;
  }
  .news_parts .tabArea li:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
  }

  .news_parts .tabContentsWrap {
    padding: 1rem 2rem 3rem;
    border-radius: 0 0 10px 10px;
  }
  
  
  /*----- pagination -----*/
  .pagination {
    margin: 3rem 0 0;
  }
  .page-numbers li {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 3.6vw;
    margin: 0 3px;
  }
  .page-numbers span.current {
    border-radius: 3px;
  }  
}


/*--------------------------------------
　singleページ
---------------------------------------*/
.single-post .date {
  display: inline-block;
  color: rgba(29,29,29,0.5);
  font-size: 1.4rem;
}

.single-post .tag {
  display: inline-block;
  background: rgba(199,84,128,0.1);
  margin-left: 1rem;
  padding: 8px 1.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 100px;
}

.single-post .post_ttl {
  margin: 1.5rem 0 0;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.single-post .post_contents {
  margin: 4rem 0 0;
  line-height: 1.8;
}


.post_contents p {
  margin: 3rem 0 3rem;
  font-size: 1.6rem;
  text-align: justify;
  line-height: 1.8;
}

.post_contents strong {
	font-weight: 700;
}
.post_contents strong span {
	font-weight: 700;
}


.post_contents h2,
.post_contents h3,
.post_contents h4,
.post_contents h5,
.post_contents h6 {
  margin: 5rem 0 0;
  line-height: 1.7;
}

.post_contents h2 {
	display: flex;
	align-items: center;
	justify-content: center;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.7;
  font-family: "Noto Serif JP", serif;
  position: relative;
}
.post_contents h2::after {
	content: "";
	display: block;
	margin-left: 4rem;
	border-top: 1px solid #d1d1d1;
	flex-grow: 1;
}

.post_contents h3 {
  color: #013570;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.7;
  position: relative;
}
.post_contents h3::before {
  content: "";
  display: block;
  background: #013570;
  width: 32px;
  height: 1px;
  margin: 0 0 2rem;
  box-sizing: border-box;
}

.post_contents h4 {
  color: #013570;
  padding: 0 0 0 2rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.7;
  border-left: 1px solid #013570;
}

.post_contents h5 {
  color: #C75480;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
}


.post_contents img {
	display: block;
	width: auto;
	height: auto;
	max-width: 80%;
  margin: 4rem 0 4rem 0;
  border-radius: 0;
}
.post_contents img.alignright {
	margin: 4rem 0 4rem auto!important;
}
.post_contents img.alignleft {
	margin: 4rem auto 4rem 0!important;
}
.post_contents img.aligncenter {
	margin: 4rem auto 4rem auto!important;
}


.post_contents ul {
  margin: 3rem 0 3rem;
}
.post_contents ul li {
  margin: 0 0 1.5rem;
  padding: 0 0 0 2rem;
	font-size: 1.6rem;
	line-height: 1.6;
	position: relative;
}
.post.contents ul li:last-child {
  margin: 0 0 0;
}
.post_contents ul li:before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	background: #C75480;
	width: 12px;
	height: 12px;
	box-sizing: border-box;
	border-radius: 50%;
}


.post_contents ol {
  margin: 3rem 0 3rem;
	list-style-type: none;
	counter-reset: count;
}
.post_contents ol li {
  margin: 0 0 1.5rem;
  padding: 0 0 0 4rem;
	font-size: 1.6rem;
	line-height: 1.6;
	position: relative;
	counter-increment: count;
}
.post_contents ol li:last-child {
  margin: 0 0 0;
}
.post_contents ol li::before {
  content: counter(count,decimal-leading-zero)".";
	position: absolute;
	top: -2px;
	left: 0;
	color: #C75480;
	font-size: 2rem;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .single-post .tag {
    margin-left: 5px;
    padding: 5px 1rem;
    font-size: 1.2rem;
  }

  .single-post .post_ttl {
    margin: 1rem 0 0;
    font-size: 2.4rem;
  }

  .single-post .post_contents {
    margin: 2rem 0 0;
  }


  .post_contents p {
    margin: 2rem 0 2rem;
    font-size: 1.4rem;
  }


  .post_contents h2,
  .post_contents h3,
  .post_contents h4,
  .post_contents h5,
  .post_contents h6 {
    margin: 3rem 0 0;
    line-height: 1.5;
  }

  .post_contents h2 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .post_contents h2::after {
    margin-left: 1.5rem;
  }

  .post_contents h3 {
    font-size: 2rem;
    line-height: 1.5;
  }
  .post_contents h3::before {
    margin: 0 0 1rem;
  }

  .post_contents h4 {
    padding: 0 0 0 1.5rem;
    font-size: 1.7rem;
    line-height: 1.5;
  }

  .post_contents h5 {
    font-size: 1.6rem;
    line-height: 1.5;
  }


  .post_contents img {
    width: 100%;
    max-width: 100%;
    margin: 3rem 0 3rem 0;
  }
  .post_contents img.alignright {
    margin: 3rem 0 3rem auto!important;
  }
  .post_contents img.alignleft {
    margin: 3rem auto 3rem 0!important;
  }
  .post_contents img.aligncenter {
    margin: 3rem auto 3rem auto!important;
  }


  .post_contents ul {
    margin: 2rem 0 2rem;
  }
  .post_contents ul li {
    margin: 0 0 1rem;
    padding: 0 0 0 1.5rem;
    font-size: 1.4rem;
  }
  .post_contents ul li:before {
    top: 9px;
    width: 8px;
    height: 8px;
  }


  .post_contents ol {
    margin: 2rem 0 2rem;
  }
  .post_contents ol li {
    margin: 0 0 1rem;
    padding: 0 0 0 3.5rem;
  }
  .post_contents ol li::before {
    top: 0;
    font-size: 1.8rem;
  }
}


/*--------------------------------------
　form_parts
---------------------------------------*/
input,
select,
textarea {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
	box-sizing: border-box;
	box-shadow: none;
	border: none;
}

.form_parts tr {
  border-bottom: 1px solid #d1d1d1;
}

.form_parts th {
  width: 35%;
  padding: 3rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.form_parts .req {
  display: inline-block;
  background: #013570;
  margin-left: 3rem;
  padding: 5px 1rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.form_parts td {
  padding: 3rem 1.5rem;
}

/* input */
.form_parts td input {
	width: 100%;
	height: 45px;
	font-size: 1.5rem;
	border: 1px solid #d1d1d1;
	padding: 0 1rem;
	box-sizing: border-box;
}
.form_parts td input.file {
	width: auto;
	height: auto;
	border: none;
	padding: 0 0;
  -webkit-appearance: none;
	appearance: none;
}

/* checkBox */
.checkBox {
  display: flex;
  flex-wrap: wrap;
}
.checkBox li {
	margin: 0 4rem 0 0;
	padding: 1rem 0 1rem;
}
.checkBox li:last-child {
	margin: 0 0 0 0;
}
.check-input {
	display: none;
}
.check-input + .check-parts {
	display: block;
  padding-left: 2.5rem;
	box-sizing: border-box;
	font-size: 1.5rem;
	line-height: 1.4;
  position: relative;
}
.check-input + .check-parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border: 1px solid #d1d1d1;
}
.check-input:checked + .check-parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 6px;
	width: 4px;
	height: 12px;
	border-bottom: 2px solid #013570;
	border-right: 2px solid #013570;
	transform: rotate(45deg);
}
.check-input:checked + .check-parts {
	color: #013570;
}

/* radioBox */
.radioBox {
  display: flex;
  flex-wrap: wrap;
}
.radioBox li {
	margin: 0 4rem 0 0;
	padding: 1rem 0 1rem;
}
.radioBox li:last-child {
	margin: 0 0 0 0;
}
.radio-input {
	display: none;
}
.radio-input + .radio-parts {
	display: block;
  padding-left: 2.5rem;
	box-sizing: border-box;
	font-size: 1.5rem;
	line-height: 1.4;
  position: relative;
}
.radio-input + .radio-parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border: 1px solid #d1d1d1;
}
.radio-input:checked + .radio-parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 6px;
	width: 4px;
	height: 12px;
	border-bottom: 2px solid #013570;
	border-right: 2px solid #013570;
	transform: rotate(45deg);
}
.radio-input:checked + .radio-parts {
	color: #013570;
}

/* textarea*/
.form_parts td textarea {
	width: 100%;
	padding: 1rem 1rem;
	border: 1px solid #d1d1d1;
	font-size: 1.5rem;
	box-sizing: border-box;
	resize: vertical;
}

/* send_btn */
.form_parts .send_btn {
	display: block;
	background: #013570;
	width: 400px;
	margin: 6rem auto 0;
	padding: 2rem 2rem;
	box-sizing: border-box;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s;
	position: relative;
}
.form_parts .send_btn:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}


/*----------  form wpcf7追加  --------------*/
/* check */
span.wpcf7-checkbox span.wpcf7-list-item {
	display: inline-block;
	margin: 0 4rem 0 0;
	padding: 1rem 0 1rem;
}
span.wpcf7-checkbox span.wpcf7-list-item.last {
	margin: 0 0 0 0;
}
span.wpcf7-checkbox span.wpcf7-list-item input {
	display: none;
}
span.wpcf7-checkbox span.wpcf7-list-item-label {
	display: block;
  padding-left: 2.5rem;
	box-sizing: border-box;
	font-size: 1.5rem;
	line-height: 1.4;
  position: relative;
}
span.wpcf7-checkbox span.wpcf7-list-item-label::before {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border: 1px solid #d1d1d1;
}
span.wpcf7-checkbox span.wpcf7-list-item input:checked + span.wpcf7-list-item-label::after {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 6px;
	width: 4px;
	height: 12px;
	border-bottom: 2px solid #013570;
	border-right: 2px solid #013570;
	transform: rotate(45deg);
}
span.wpcf7-checkbox span.wpcf7-list-item input:checked + span.wpcf7-list-item-label {
	color: #013570;
}

/* radio */
span.wpcf7-radio span.wpcf7-list-item {
	display: inline-block;
	margin: 0 4rem 0 0;
	padding: 1rem 0 1rem;
}
span.wpcf7-radio span.wpcf7-list-item.last {
	margin: 0 0 0 0;
}
span.wpcf7-radio span.wpcf7-list-item input {
	display: none;
}
span.wpcf7-radio span.wpcf7-list-item input + span.wpcf7-list-item-label {
	display: block;
  padding-left: 2.5rem;
	box-sizing: border-box;
	font-size: 1.5rem;
	line-height: 1.4;
  position: relative;
}
span.wpcf7-radio span.wpcf7-list-item input + span.wpcf7-list-item-label::before {
  content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border: 1px solid #d1d1d1;
}
span.wpcf7-radio span.wpcf7-list-item input:checked + span.wpcf7-list-item-label::after {
  content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 6px;
	width: 4px;
	height: 12px;
	border-bottom: 2px solid #013570;
	border-right: 2px solid #013570;
	transform: rotate(45deg);
}
span.wpcf7-radio span.wpcf7-list-item input:checked + span.wpcf7-list-item-label {
  color: #013570;
}

/* エラーテキスト */
span.wpcf7-not-valid-tip {
	margin-top: 1rem;
	color: #f00;
  font-size: 1.5rem;
}

div.wpcf7-response-output {
	padding: 2rem 2rem!important;
}

@media screen and (max-width: 768px) {
  .form_parts th {
    display: block;
    width: 100%;
    padding: 1.5rem 0 0;
    font-size: 1.4rem;
  }

  .form_parts .req {
    margin-left: 1.5rem;
    padding: 3px 8px;
    font-size: 1rem;
  }

  .form_parts td {
    display: block;
    padding: 1rem 0 1.5rem;
  }

  /* input */
  .form_parts td input {
    height: 40px;
    font-size: 1.4rem;
    padding: 0 5px;
  }

  /* checkBox */
  .checkBox {
    display: block;
  }
  .checkBox li {
    margin: 0 0 1.5rem 0;
    padding: 0 0 0;
  }
  .check-input + .check-parts {
    padding-left: 2.5rem;
    font-size: 1.4rem;
  }
  .check-input + .check-parts::before {
    width: 14px;
    height: 14px;
  }
  .check-input:checked + .check-parts::after {
    top: 2px;
    left: 5px;
    width: 4px;
    height: 10px;
  }
  
  /* radioBox */
  .radioBox {
    display: block;
  }
  .radioBox li {
    margin: 0 0 1.5rem 0;
    padding: 0 0 0;
  }
  .radio-input + .radio-parts {
    padding-left: 2.5rem;
    font-size: 1.4rem;
  }
  .radio-input + .radio-parts::before {
    width: 14px;
    height: 14px;
  }
  .radio-input:checked + .radio-parts::after {
    top: 2px;
    left: 5px;
    width: 4px;
    height: 10px;
  }

  /* textarea*/
  .form_parts td textarea {
    padding: 5px 5px;
    font-size: 1.4rem;
  }

  /* send_btn */
  .form_parts .send_btn {
    width: 90%;
    margin: 3rem auto 0;
    padding: 1.8rem 1.5rem;
    font-size: 1.6rem;
  }
  
  
	/*----------  form wpcf7追加  --------------*/
	/* check */
	span.wpcf7-checkbox span.wpcf7-list-item {
		display: block;
		margin: 0 0 1.5rem 0;
    padding: 0 0 0;
	}
	span.wpcf7-checkbox span.wpcf7-list-item.last {
		margin: 0 0 0 0;
	}
	span.wpcf7-checkbox span.wpcf7-list-item-label {
		padding-left: 2.5rem;
		font-size: 1.4rem;
	}
	span.wpcf7-checkbox span.wpcf7-list-item-label::before {
		width: 14px;
		height: 14px;
	}
	span.wpcf7-checkbox span.wpcf7-list-item input:checked + span.wpcf7-list-item-label::after {
		top: 2px;
    left: 5px;
    width: 4px;
    height: 10px;
  }


	/* radio */
	span.wpcf7-radio span.wpcf7-list-item {
		display: block;
		margin: 0 0 1.5rem 0;
    padding: 0 0 0;
	}
	span.wpcf7-radio span.wpcf7-list-item.last {
		margin: 0 0 0 0;
	}
	span.wpcf7-radio span.wpcf7-list-item input + span.wpcf7-list-item-label {
		padding-left: 2.5rem;
		font-size: 1.4rem;
	}
	span.wpcf7-radio span.wpcf7-list-item input + span.wpcf7-list-item-label::before {
		width: 14px;
		height: 14px;
	}
	span.wpcf7-radio span.wpcf7-list-item input:checked + span.wpcf7-list-item-label::after {
		top: 2px;
    left: 5px;
    width: 4px;
    height: 10px;
	}
	
	
	/* エラーテキスト */
	span.wpcf7-not-valid-tip {
		margin-top: 5px;
    font-size: 1.4rem;
	}

	div.wpcf7-response-output {
		padding: 1rem 1rem!important;
	}
}