@charset "utf-8";

/* ======================================================
   Bestie カスタムCSS
   （旧：TCDテーマオプション「カスタムCSS」から移植）

   色メモ
     メイン（赤）   #ff4343
     緑             #A1D064 / #97C956
     薄い緑         #e7f0db
     こげ茶         #3f3936
     茶             #837d76
     薄いオレンジ   #fff5ee
     青             #55B4E0
     角丸           6px
====================================================== */


/* ------------------------------------------------------
   ベース（フォント・リンク・表・画像）
------------------------------------------------------ */

.rich_font {
  font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-family: "Segoe UI", Arial, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

table th,
table td {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
}

.post_content p {
  line-height: 2.1;
}

.pc .tcd-w_page_menu .desc {
  line-height: 2.1;
}

.post_content th {
  background: #e7f0db;
  font-weight: 600;
}

.post_content td {
  background: #fafafa;
}

.post_content th,
.post_content td {
  border: solid 3px #fff;
}

a {
  color: #55B4E0;
  transition: 0.4s all ease;
}


/* ------------------------------------------------------
   ユーティリティ（表示切替・幅・文字装飾）
------------------------------------------------------ */

.pc .br_sp {
  display: none;
}

.mobile .br_pc {
  display: none;
}

.pc .o_sp {
  display: none;
}

.mobile .o_pc {
  display: none;
}

hr.half {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}

strong.colored {
  color: #97C956;
}

strong.colored_accent {
  color: #ff4343;
}

.p_btn-wrapper {
  text-align: center;
}

.cst_text {
  line-height: 1.8;
}

.pc .cst_pc-center {
  text-align: center;
}

span.wordmarker {
  display: inline;
  background:linear-gradient(transparent 60%, #e7f0db 60%);
}

.pc .l_inner_cst,
.l_inner_pc {
  width: 1150px;
  margin: 0 auto;
}

.mobile .l_inner_cst,
.l_inner_mobile {
  padding: 0 15px;
}

@media screen and (max-width: 768px) {
  .pc .l_inner_cst,
  .l_inner_pc {
    width: auto;
    padding: 0 15px;
  }
}

.mobile .cst_only-pc {
  display: none;
}

.pc .cst_only-mobile {
  display: none;
}

@media screen and (max-width: 769.9px) {
  .tal-sp {
    text-align: center !important;
  }
}


/* ------------------------------------------------------
   共通パーツ（見出し・ボタン・注意書き・タブ・カラム）
------------------------------------------------------ */

.numeral {
  font-family: Arial;
  font-size: 1.1em;
}

.numeral,
h3.pb_headline.marker span.numeral {
  background: none;
  font-family: Arial;
  font-size: 1.1em;
  display: inline;
}

.notice-list ul {
  list-style: disc;
  font-size: 0.9rem;
}

@keyframes tab_content_opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.js_tab_wrapper .js_tab_content-wrapper .js_tab_content {
  display: none;
}

.js_tab_wrapper .js_tab_content-wrapper .js_tab_content.active {
  display: block;
  animation: tab_content_opacity 1s forwards;
}

.js_tab_wrapper .js_tab_trigger-wrapper {
  text-align: center;
}

.js_tab_wrapper .js_tab_trigger {
  display: inline-block;
  padding: 16px;
  cursor: pointer;
  width: 30%;
  max-width: 40vw;
}

.js_tab_wrapper .js_tab_trigger.active {
  background: #ffaabbcc;
}

.notice_box {
  border: 4px solid #ccc;
  color: #ccc;
  padding: 0.8em 0.8em 0.8em 1.2em;
  line-height: 1.8;
  max-width: 800px;
  margin: 0 auto;
  font-size: 0.9em;
}

.notice_box_red {
  border-color: #ef3345;
  color: #f13345;
}

.pb_headline i {
  margin-right: 0.2em;
}

.mobile .pb_headline {
  font-size: 22px !important;
}

h2.pb_headline.marker,
h3.pb_headline.marker {
  text-align: center;
}

h2.pb_headline.marker span,
h3.pb_headline.marker span {
  display: inline;
  background:linear-gradient(transparent 60%, #e7f0db 60%);
  font-size: 30px;
}

h2.pb_headline.marker span,
h3.pb_headline.marker span {
  display: inline;
  background:linear-gradient(transparent 60%, #e7f0db 60%);
  font-size: 30px;
}

.home h2.pb_headline.marker span {
  background:linear-gradient(transparent 60%, #d0e4b3 60%);
}

.mobile h3.pb_headline.marker span {
  font-size: 22px;
}

.cst_section p.text {
  line-height: 2.1;
}

a.btn_detail {
  display: inline-block;
  border-radius: 1000px;
  border: 2px solid #3f3936;
  text-align: center;
  padding: 16px 0px;
  color: #3f3936;
}

a.btn_detail:hover {
  text-decoration: none;
  opacity: 0.5;
}

.pc a.btn_detail {
  width: 300px;
}

.mobile a.btn_detail {
  width: 80%;
}

a.btn_detail:hover,
a.btn_detail:visited {
  color: #3f3936;
}

.cst_section img {
  max-width: 100%;
}

.cst_cancel-list,
.post_content .cst_cancel-list {
  margin: 0;
  padding: 0;
}

.cst_cancel-list li,
.post_content .cst_cancel-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.post_content .post_col-4,
.cst_section .post_col-4 {
  position: relative;
  min-height: 1px;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 2em;
}

@media screen and (min-width: 1024px) {
  .post_content .post_col-4,
  .cst_section .post_col-4 {
    width: 25%;
  }
}

@media screen and (min-width: 768px) {
  .post_content .post_col-4,
  .cst_section .post_col-4 {
    width: 25%;
  }
}

.heading_area {
  background: url(https://www.bestie.pet/wp-content/uploads/2019/10/bg_heading_area_06.jpg) center center;
  background-size: width: 100%;
  padding: 60px 0;
}

.heading_area h3 {
  text-align: center;
  color: #fff;
  font-size: 26px;
  text-shadow:0px 0px 4px #333333;
}

.post_content .style4a {
  margin: 2.5em 2px 1.6em;
  padding: .6em 0 .6em .8em;
  font-size: 22px;
  letter-spacing: 0.05em;
}

.notice_01 {
  border: 2px solid #ff0000;
  font-weight: bold;
  color: #ff0000;
  padding: 12px;
  border-radius: 8px;
  line-height: 1.8;
}


/* ------------------------------------------------------
   ヘッダー・グローバルメニュー
------------------------------------------------------ */

.pc h1.logo a img {
  width: 160px;
  width: 328px;
  height: auto;
  width: auto;
  height: 76px;
}

.pc .home #header_top {
  height: 120px;
}

.pc .home #header_logo {
  height: 120px;
}

h1.logo a img {
  width: 200px;
  height: auto;
}

.pc .not_home #logo_image_fixed img {
  max-height: 48px;
}

#header_bottom {
  position: relative;
}

#header_bottom .p-top_goldenspot {
  position: absolute;
  z-index: 2;
}

@media screen and (max-width: 770px) {
  #global_menu {
    top: 66px;
  }

  #global_menu li {
    border-bottom: 1px solid #6a655f;
  }

  #global_menu a {
    background: #837d76;
    height: 65px;
    line-height: 65px;
    font-size: 4.5vmin;
  }

  a.menu_button:hover,
  a.menu_button.active {
    background: #837d76;
  }
}

.pc #global_menu #menu-global #menu-item-262 a {
  margin-left: 40px;
  display: inline-block;
  background: #ff0000;
  border-radius: 1000px;
  height: 40px;
  line-height: 40px;
  color: #fff;
}

.pc #global_menu #menu-global #menu-item-262 a:hover {
  opacity: 0.6;
}

.pc .not_home #global_menu ul {
  text-align: right;
}

@media screen and (max-width: 770px) {
  a.menu_button:not(.active):hover {
    background: none;
  }

  a.menu_button:before {
    content: "" !important;
    background-image: url(https://www.bestie.pet/wp-content/uploads/2019/12/btn_menu_normal.png?2);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 70% auto;
    width: 100%;
    height: 100%;
    top: 0 !important;
    left: 0;
  }

  a.menu_button.active:before {
    content: "" !important;
    background-image: url(https://www.bestie.pet/wp-content/uploads/2019/12/btn_menu_close_2.png?2);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 70% auto;
  }

  #header {
    height: 65px;
  }

  #logo_image_mobile h1 img {
    height: 50px;
    width: auto;
    margin-top: 8px;
  }

  a.menu_button {
    height: 66px;
    line-height: 66px;
  }

  a.menu_button:before {
    color: #ff4343;
    top: 19px;
    font-size: 22px;
  }
}

#header_slider::after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 61px;
  height: 91px;
  background: url(https://www.bestie.pet/wp-content/uploads/2020/07/icon_paypay.png) no-repeat center center;
  background-size: 100% auto;
}

@media screen and (max-width: 770px) {
  #header_slider::after {
    content: none;
  }
}

.pc #global_menu > ul > li > a {
  padding-left: 24px;
  padding-right: 24px;
}


/* ------------------------------------------------------
   フッター
------------------------------------------------------ */

#footer_top_inner img.f_logo {
  height: 60px;
  width: auto;
}

#footer_top {
  background: #f5f5f5;
  margin-top: 0;
}

#footer_bottom {
  background: #3f3936;
}

#footer_address {
  background: #837d76;
  color: #fff;
}

#footer_address a {
  color: #fff;
}

.page-id-19 .s_footer-contact,
.page-id-281 .s_footer-contact {
  display: none;
}

.s_footer-contact {
  padding: 60px 0;
  background: #97C956;
  text-align: center;
  color: #fff;
}

.s_footer-contact h3 {
  font-size: 30px;
  margin-bottom: 30px;
}

.mobile .s_footer-contact h3 {
  font-size: 5vmin;
  margin-bottom: 16px;
}

.s_footer-contact h3 i {
  margin-right: 0.4em;
}

.s_footer-contact p.text {
  line-height: 2;
}

.mobile .s_footer-contact p.text {
  line-height: 1.8;
  font-size: 0.8rem;
  margin-bottom: 15px;
}

.s_footer-contact a.contact {
  display: inline-block;
  border-radius: 1000px;
  border: 3px solid #fff;
  text-align: center;
  padding: 20px 0px;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

.s_footer-contact a.contact:hover {
  opacity: 0.5;
  text-decoration: none;
}

.s_footer-contact a.tel {
  display: inline-block;
}

.s_footer-contact a.tel img {
  width: 100%;
}

.pc .s_footer-contact a.contact,
.pc .s_footer-contact a.tel {
  width: 300px;
}

.s_footer-contact .contact-btn_wrapper {
  padding-top: 40px;
}

.pc .s_footer-contact .contact-btn_wrapper {
  display: flex;
}

.pc .s_footer-contact .contact-btn_wrapper div {
  flex: 1;
}

.pc .s_footer-contact .contact-btn_wrapper .form {
  text-align: right;
  padding-right: 24px;
}

.pc .s_footer-contact .contact-btn_wrapper .tel {
  text-align: left;
  padding-left: 24px;
}

.mobile .s_footer-contact {
  padding: 40px 15px;
}

.mobile .s_footer-contact .contact-btn_wrapper {
  padding-top: 20px;
}

.mobile .s_footer-contact .contact-btn_wrapper .tel {
  padding-top: 20px;
}

.mobile .s_footer-contact a.contact {
  font-size: 4.2vmin;
}

.mobile .s_footer-contact .contact-btn_wrapper .form a.contact,
.mobile .s_footer-contact .contact-btn_wrapper .tel a.tel {
  width: 75%;
}

.mobile .s_footer-contact .contact-btn_wrapper .form a.contact {
  width: 90%;
}

.footer-licence-number.pc {
  background: #837d76;
  color: #fff;
  text-align: center;
  font-size: 0.7rem;
  line-height: 1.5;
  padding: 8px 0 24px;
}

.footer-licence-number.mobile {
  padding-top: 24px;
  color: #eeeeee;
  font-size: 0.9em;
}

.user_sns {
  margin-top: 0;
  margin-bottom: 16px;
}

.user_sns li a {
  width: 30px;
  height: 30px;
}

.user_sns li a:before {
  font-size: 18px;
  height: 18px;
  width: 18px;
  line-height: 18px;
  top: 6px;
  left: 6px;
}

.cst_footer-logo-pac {
  margin-top: 32px;
  display: flex;
  align-items: center;
}

.cst_footer-logo-pac_img img {
  width: 100px;
}

.cst_footer-logo-pac_text {
  flex: 1;
  font-size: 0.7rem;
  text-align: left;
  padding-left: 0.7em;
  line-height: 1.3;
}

.cst_footer-logo-pac_text a {
  margin: 0 3px;
  text-decoration: underline;
}

.pc .cst_footer-logo-pac {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.mobile .cst_footer-logo-pac {
  padding: 0 8px;
}

.mobile .cst_footer-logo-pac_img img {
  width: 50px;
}

.footer_company_logo_pc {
  background: #837d76;
  padding: 20px 0 30px;
}

.footer_company_logo_pc figure {
  text-align: center;
}

.footer_company_logo_pc img {
  width: 60px;
  height: auto;
}

.footer_company_logo_sp img {
  padding: 30px 0 0px;
}

.footer_company_logo_sp img {
  width: 26vmin;
  max-width: 60px;
  height: auto;
}

.grecaptcha-badge {
  visibility:hidden;
}


/* ------------------------------------------------------
   トップページ
------------------------------------------------------ */

.s_top-about {
  padding: 60px 0;
  text-align: center;
}

.mobile .s_top-about {
  padding: 40px 0;
}

.s_top-about .pb_headline {
  line-height: 1.5;
  margin-bottom: 30px;
}

.s_top-about h3.pb_headline.marker span {
  background:linear-gradient(transparent 60%, #e7f0db 60%);
}

.mobile .s_top-about h3.pb_headline.marker span {
  background:linear-gradient(transparent 60%, #e7f0db 60%);
}

.s_top-about .info_text {
  line-height: 2;
}

.s_top-about .l_inner_mobile h3.pb_headline.marker span {
  font-size: 6vmin;
}

.s_top-about .l_inner_mobile .info_text {
  font-size: 3.8vmin;
}

.s_top-about .shop_info {
  padding-top: 16px;
  font-size: 0.9em;
  font-weight: 600;
  line-height: 2;
}

.s_top-service {
  background: #e7f0db;
  padding: 30px 0 60px;
}

.mobile .s_top-service {
  padding-bottom: 30px;
}

.s_top-service h3 {
  text-align: center;
  font-size: 30px;
  margin-bottom: 30px;
}

.pc .s-serviceGeneral_pc .wrapper_entry-serviceGeneral {
  display: flex;
}

.pc .s-serviceGeneral_pc .entry-serviceGeneral {
  flex: 1;
}

.s-serviceGeneral_pc h4 {
  text-align: center;
  padding: 4px 0;
  line-height: 1.8;
  font-size: 1.4em;
  background: #97C956;
  border-radius: 0px;
  color: #fff;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 24px;
  position: relative;
  box-shadow: 6px 6px 0px 0px #d0e4b3;
}

.s-serviceGeneral_pc figure {
  text-align: center;
}

.s-serviceGeneral_pc figure img {
  border-radius: 1000px;
  width: 80%;
  height: auto;
}

.s-serviceGeneral_pc p.text {
  width: 80%;
  padding: 16px 12px 0 16px;
  margin: 0 auto;
}

.s-serviceGeneral_mobile h4 {
  text-align: center;
  background: #97C956;
  border-radius: 4px;
  color: #fff;
  width: 100%;
  padding: 12px 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  position: relative;
  font-size: 1.3rem;
}

.s-serviceGeneral_mobile h4:after {
  content: "";
  display: block;
  position: absolute;
  background: #b5d488;
  bottom: -7px;
  left: 7px;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.s-serviceGeneral_mobile .entry-serviceGeneral {
  display: flex;
  margin-bottom: 24px;
}

.s-serviceGeneral_mobile .entry-serviceGeneral figure {
  width: 32%;
  max-width: 200px;
  margin-right: 16px;
}

.s-serviceGeneral_mobile figure img {
  border-radius: 6px;
}

.s-serviceGeneral_mobile .entry-serviceGeneral .b-text {
  flex: 1;
}

.s_top-service .p_btn-wrapper {
  padding-top: 40px;
}

#index_content2 {
  padding-top: 60px;
}

#index_content2 .catchphrase .headline {
  line-height: 1.5;
  word-wrap: normal;
}

#index_content2 .catchphrase .desc {
  line-height: 2.5;
}

.pc .index_box_list .headline {
  font-size: 28px;
}

.index_box_list .desc {
  line-height: 1.8;
}

@media screen and (max-width: 770px) {
  #index_content2 .catchphrase .headline {
    text-align: center;
  }
}

.cst_index-section_inner.cst_mobile {
  width: auto;
  padding: 20px 20px;
}

.cst_index-section_inner.cst_pc {
  width: 1150px;
  margin: 0 auto;
  padding: 40px 0;
}

.cst_index-section h2 {
  font-size: 40px;
  line-height: 1.5;
  padding-bottom: 20px;
}

.cst_index-section_inner.cst_mobile h2 {
  font-size: 26px;
}

.cst_index-section_inner h3 {
  text-align: center;
  line-height: 1.3;
  padding-bottom: 20px;
}

.cst_index-section_inner.cst_mobile h3 {
  font-size: 18px;
}

.cst_index-section_inner.cst_pc h3 {
  font-size: 26px;
}

.cst_index-section.s-index-service {
  background: #f9f8f4;
}

.cst_index-section_inner h2 {
  text-align: center;
}

.cst_index-section_inner .text {
  line-height: 1.7;
  text-align: center;
  margin-bottom: 20px;
}

.mobile #index_content2 .catchphrase .desc {
  line-height: 2;
}

.cst_index-content1-h2_mobile {
  text-align: center;
  font-size: 20px;
  padding-bottom: 20px;
}

.pc .cst_index-content1-h2_mobile {
  display: none;
}

.cst_index-content1-h2_pc {
  text-align: center;
  font-size: 30px;
  padding: 24px 0 20px;
}

.mobile #index_content1 h4.headline {
  font-size: 22px;
}

#index_content1_top .text {
  text-align: center;
  line-height: 2;
  padding-bottom: 30px;
}

#index_content1_inner .cst_index-content1-h2_mobile.pb_headline.marker span {
  font-size: 5.8vmin;
}

@media (min-width: 768px) {
  #index_content1_inner .cst_index-content1-h2_mobile.pb_headline.marker span {
    font-size: 22px;
  }
}

#index_content1_inner .text.cst_only-mobile {
  padding: 0 20px 20px;
  line-height: 2;
}

.index_box_list h4.headline i {
  margin-right: 6px;
  color: #97C956;
}

.mobile .cst_box-index-content1_parent {
  display: flex;
}

.mobile .cst_box-index-content1_child.image {
  width: 35% !important;
}

.mobile .cst_box-index-content1_child.info {
  flex: 1;
  padding-left: 16px;
}

.mobile #index_content1 .cst_box-index-content1_child.info h4.headline {
  font-size: 18px;
  text-align: left;
  margin-bottom: 8px;
}

.s-index-area .img.map {
  text-align: center;
  width: 100%;
}

.s-index-area .img.map img {
  width: 100%;
  max-width: 800px;
}

.line-info_top {
  padding-top: 1em;
  text-align: center;
  font-weight: bold;
  color: #00B900;
}

.line-info_top strong {
  color: #00B900;
}

.line-info_top .text {
  line-height: 1.7;
}

.s_aboutInsurance .container_box {
  display: flex;
  flex-wrap: wrap;
}

.s_aboutInsurance h3 {
  text-align: center;
  margin-bottom: 20px;
}

.s_aboutInsurance .box1 {
  width: 20%;
  margin-right: 32px;
}

.s_aboutInsurance .box1 img {
  width: 100%;
  height: auto;
}

.s_aboutInsurance .box2 {
  flex: 1;
  padding-top: 8px;
}

.s_aboutInsurance .text {
  margin-bottom: 0;
}

.s_aboutInsurance .link {
  text-align: right;
}

.mobile .s_aboutInsurance .container_box {
  display: block;
}

.mobile .s_aboutInsurance .box1 {
  text-align: center;
  width: 100%;
  margin-right: 0px;
}

.mobile .s_aboutInsurance .box1 img {
  width: 50%;
  max-width: 200px;
}

.mobile .s_aboutInsurance .box2 .text {
  line-height: 2;
  margin-bottom: 8px;
}

.home .s_aboutInsurance {
  padding-bottom: 60px;
}

.home .s_aboutInsurance .text {
  line-height: 2;
}

.home .s_aboutInsurance h3 {
  font-size: 130%;
}

.mobile .home .s_aboutInsurance .box1 img {
  width: 50%;
  max-width: 120px;
}

.mobile .home .s_aboutInsurance {
  padding-top: 20px;
}

.block-top-contact {
  background-color: #f9f8f4;
  text-align: center;
  margin-top: 20px;
}

.block-top-contact .-hd {
  font-weight: bold;
  font-size: 1.3em;
  margin-bottom: 0.5em;
}

.block-top-contact > .-dec {
  line-height: 1.5;
  font-size: 0.9em;
}

.block-top-contact .-tel {
  padding-top: 26px;
}

.block-top-contact .-form {
  padding-top: 24px;
}

.block-top-contact .-line {
  padding-top: 24px;
}

.block-top-contact .-line .-dec {
  padding-bottom: 8px;
}

.block-top-contact .-tel a,
.block-top-contact .-tel a:link,
.block-top-contact .-tel a:visited,
.block-top-contact .-tel a:hover,
.block-top-contact .-tel a:active {
  font-size: 26px;
  color: #333;
  font-family: Arial,sans-serif;
  letter-spacing: 0.05em;
}

.block-top-contact .-line .-dec {
  color: #00B900;
  line-height: 1.7;
  font-size: 0.9em;
}

.line-info_top strong {
  color: #00B900;
}

.block-top-contact .-form a {
  box-sizing: border-box;
  display: inline-block;
  border-radius: 1000px;
  border: 2.5px solid #333;
  color: #333;
  text-decoration: none;
  padding: 0.7em 1em;
  font-weight: bold;
  transition: opacity 0.5s;
}

.block-top-contact .-form a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 770px) {
  .block-top-contact {
    border-radius: 16px;
    padding: 24px 18px;
  }

  .block-top-contact .-form a {
    width: 300px;
    font-size: 1.1em;
  }

  .block-top-contact .-line a img {
    height: 44px;
  }
}

@media screen and (max-width: 769.9px) {
  .block-top-contact {
    border-radius: 10px;
    padding: 24px 16px;
  }

  .block-top-contact .-form {
    padding-top: 24px;
  }

  .block-top-contact .-form a {
    width: 100%;
    font-size: 1.1em;
  }

  .block-top-contact .-line a img {
    height: 54px;
  }
}


/* ------------------------------------------------------
   サービス内容ページ
------------------------------------------------------ */

.page-id-79 img {
  border-radius: 6px;
}

.page-id-79 .leastPrice {
  text-align: center;
  margin-bottom: 20px;
}

.link_price,
.link_service {
  text-align: center;
}

.link_price a,
.link_service a {
  display: inline-block;
  border-radius: 1000px;
  color: #97C956;
  border: 2px solid #97C956;
  padding: 8px 16px;
  line-height: 1;
  font-size: 0.8rem;
}

.link_price a:hover,
.link_service a:hover {
  text-decoration: none;
  opacity: 0.5;
  color: #97C956;
}

.s-serviceGeneral h4 {
  text-align: center;
  padding: 4px 0;
  line-height: 2;
  font-size: 1.4em;
  background: #97C956;
  border-radius: 1000px;
  color: #fff;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.s-serviceGeneral figure {
  text-align: center;
}

.s-serviceGeneral figure img {
  border-radius: 1000px;
  width: 80%;
  height: auto;
}

.s-serviceGeneral p {
  padding: 0 12px 0 16px;
}

.s-serviceGeneral_02 h4 {
  text-align: center;
  background: #97C956;
  border-radius: 1000px;
  color: #fff;
  width: 60%;
  padding: 12px 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

.s-serviceGeneral_02 .entry-serviceGeneral {
  display: flex;
  margin-bottom: 24px;
}

.s-serviceGeneral_02 .entry-serviceGeneral figure {
  width: 28%;
  max-width: 200px;
  margin-right: 16px;
}

.s-serviceGeneral_02 .entry-serviceGeneral .b-text {
  flex: 1;
}

.title_service {
  text-align: center;
}

.title_service h3 {
  display: inline-block;
  text-align: center;
  background: #97C956;
  border-radius: 1000px;
  padding: 12px 32px;
  min-width: 30%;
  font-size: 30px;
  font-weight: 600;
  color: #fff;
}

.mobile .title_service h3 {
  width: 100%;
  font-size: 24px;
  padding: 12px 0;
}

.s-serviceSitter h4 {
  text-align: center;
}

.s-serviceSitter .post_col-3 {
  margin-bottom: 0;
}

.s-serviceSitter_02 .post_col-3 {
  margin-bottom: 0;
}

.s-serviceSitter_02 h4 {
  padding-top: 0;
  margin-bottom: 4px;
}

.s-serviceSitter_02 .wrapper_entry-service {
  display: flex;
}

.s-serviceSitter_02 .wrapper_entry-service .image {
  width: 100px;
  margin-right: 16px;
}

.s-serviceSitter_02 .wrapper_entry-service .text {
  flex: 1;
}

.post_content .s-serviceSitter_02 .wrapper_entry-service .text p {
  margin-bottom: 0;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .s-serviceSitter_02 .post_col-4 {
    font-size: 0.8em;
  }
}

.pc .b_serviceArea .image {
  width: 40%;
}

.b_serviceArea .info .area {
  font-size: 3rem;
  font-weight: 600;
}

.pc .b_serviceArea_02 table {
  width: 80%;
  margin: 0 auto 30px;
}

.b_serviceArea_02 table {
  margin-bottom: 30px;
}

.b_serviceArea_02 table th {
  background: #97C956;
  color: #fff;
  font-size: 1.2rem;
  min-width: 6em;
}

.b_serviceArea_02 table td {
  font-size: 1rem;
  line-height: 1.5;
}

.b_serviceArea_02 table td strong {
  font-size: 1.5rem;
  font-weight: 600;
}

.mobile .post_content .b_serviceArea_02 table td,
.mobile .post_content .b_serviceArea_02 table th {
  font-size: 1rem;
  line-height: 1.5;
}

.mobile .post_content .b_serviceArea_02 table th {
  font-size: 0.9rem;
  width: 5em;
  vertical-align: middle;
}

.b_serviceArea_02 table th,
.b_serviceArea_02 table td {
  border: 2px solid #97C956;
}


/* ------------------------------------------------------
   料金ページ
------------------------------------------------------ */

.pc .s-basicPrice .show_basicPrice {
  display: flex;
  align-items: center;
}

.pc .s-basicPrice .show_basicPrice {
  width: 900px;
  margin: 0 auto;
}

.page-id-63 .show_basicPrice .moji,
.page-id-63 .show_basicPrice .kigou {
  text-align: center;
}

.page-id-63 .show_basicPrice .moji {
  flex: 1;
}

.page-id-63 .show_basicPrice .moji p {
  display: none;
}

.page-id-63 .show_basicPrice .kigou {
  font-weight: bold;
  text-align: center;
  font-size: 2rem;
  color: #97C956;
}

.show_basicPrice .moji .inner {
  display: inline-block;
  width: 200px;
  height: 100px;
  margin: 0 auto;
}

.show_basicPrice .moji .box {
  display: table-cell;
  background: #97C956;
  color: #fff;
  font-weight: bold;
  width: 200px;
  height: 100px;
  border-radius: 8px;
  vertical-align: middle;
  font-size: 1.5rem;
}

.show_basicPrice .moji div .caption {
  font-size: 0.8rem;
}

.about_registarfee {
  padding: 24px 0;
  text-align: center;
  font-size: 1.2rem;
  color: #ff4343;
  font-weight: bold;
}

.wrapper_planName {
  text-align: center;
}

h3.planName {
  display: inline-block;
  padding: 0.5em 0;
  font-family: "Segoe UI", Arial, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 24px;
  text-align: center;
  color: #333;
  margin: 0;
  line-height: 1.4;
  background: url(https://www.bestie.pet/wp-content/uploads/2019/12/icon_paw.png) no-repeat left center;
  background-size: 2em auto;
  padding-left: 2.5em;
}

.mobile h3.planName {
  font-size: 5.1vmin;
  background-size: 1.6em auto;
  background-position: left 0.5em;
  padding-left: 1.8em;
}

.post_content .table-price th,
.post_content .table-price td {
  border: 3px solid #fff;
}

.table-price th {
  text-align: left;
  font-weight: 600;
  background: #e7f0db;
  font-size: 1.1rem;
}

.post_content .table-price td {
  background: #fafafa;
}

.table-price th.th-major,
tr.tr-thead th {
  background: #97C956;
  color: #fff;
  font-size: 1.1rem;
}

.table-price th.th-major.extra,
.post_content .table-price .extra,
tr.tr-thead .extra {
  background: #55B4E0;
}

.post_content .table-price .extra_sp,
.extra_sp {
  background: #dbf3fe;
}

.pb-widget-tab .resp-tabs-list li {
  font-size: 16px;
}

.pc .resp-tab-active {
  color: #97C956;
}

.mobile h2.resp-accordion {
  font-size: 15px;
  color: #999;
}

.mobile .resp-accordion.resp-tab-active {
  color: #111;
}

.table-price .td-price {
  text-align: right;
}

.table-price .td-price .number {
  font-size: 1.3em;
  margin-right: 3px;
}

.post_content .price-notice {
  font-size: 0.9rem;
  line-height: 2.2;
}

.petSize,
.level {
  font-size: 0.8rem;
}

.level {
  margin-right: 4px;
}

.pc .table-2column {
  width: 70%;
  margin: 0 auto;
}

.pb-widget-tab .resp-tabs-list li {
  border-radius: 12px 12px 0 0;
}

.page-id-63 .post_content p {
  margin-bottom: 0;
}

.post_content p.price_additional,
.price_additional {
  text-align: center;
  font-weight: 600;
}

.page-id-63 .link-to-service {
  text-align: right;
  margin-bottom: 10px;
}

.mobile .page-id-63 .link-to-service {
  margin-bottom: 30px;
}

.mobile .page-id-63 .row3 .col1 .tcd-pb-widget.pb-widget-editor {
  padding: 0;
}

.mobile .table-transport th,
.mobile .table-transport td {
  line-height: 1.8;
}

.mobile .table-transport th {
  font-size: 0.9rem;
}

.mobile .table-transport td .number {
  font-size: 1rem;
}

.illust_howtopay {
  text-align: center;
  padding: 2em 0;
}

.illust_howtopay img {
  max-width: 300px;
}

.mobile .illust_howtopay img {
  width: 70vmin;
}

.b_cashless {
  color: #333;
  background: #fafafa;
  padding: 2em;
  border-radius: 8px;
}

.pc .b_cashless {
  display: flex;
  align-items: center;
  width: 760px;
  margin: 0 auto;
}

.pc .b_cashless .box_text {
  flex: 1;
  font-size: 0.9em;
}

.pc .b_cashless .box_text h4 {
  font-size: 1.1em;
}

.pc .b_cashless .box_pic {
  text-align: right;
  padding-right: 40px;
}

.pc .b_cashless .box_pic img {
  width: 100px;
}

.mobile .b_cashless {
  background: #fafafa;
  padding: 5vmin;
  border-radius: 8px;
}

.mobile .b_cashless .box_text {
  font-size: 0.9em;
}

.mobile .b_cashless .box_text h4 {
  font-size: 1.1em;
  line-height: 1.7;
  text-align: center;
  padding-top: 2em;
}

.mobile .b_cashless .box_pic {
  text-align: center;
}

.mobile .b_cashless .box_pic img {
  width: 26vmin;
  max-width: 150px;
}


/* ------------------------------------------------------
   ご利用の流れページ
------------------------------------------------------ */

.pc .page-id-190 .page_content_headline h3,
.pc .page-id-190 .page_content_headline_menu h3 {
  font-size: 30px;
}

.page-id-190 .tcd-w_page_menu li {
  position: relative;
}

.pc .menu_type2 .tcd-w_page_menu li {
  margin-bottom: 100px;
}

.mobile .menu_type2 .tcd-w_page_menu li {
  margin-bottom: 80px;
}

.page-id-190 .tcd-w_page_menu li:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-left: 80px solid transparent;
  border-right: 80px solid transparent;
  border-top: 50px solid #e7f0db;
  bottom: -80px;
  left: calc(50% - 80px);
  border-radius: 0px;
}

.mobile .page-id-190 .tcd-w_page_menu li:before {
  bottom: -50px;
}

.tcd-w_page_menu li:nth-of-type(5):before {
  content: none;
}

.pc .page-id-190 .tcd-w_page_menu li {
  font-size: 110%;
  line-height: 2;
}

.page-id-190 .tcd-w_page_menu .name {
  font-weight: 600;
}

.pc .page-id-190 .tcd-w_page_menu .info .name p {
  display: inline;
  vertical-align: middle;
  margin-left: 16px;
}

.mobile .page-id-190 .tcd-w_page_menu .name {
  text-align: center;
}

.mobile .page-id-190 .tcd-w_page_menu .name p {
  display: block;
  margin-left: 0;
}

.page-id-190 .tcd-w_page_menu img {
  border-radius: 6px;
}

.page-id-190 .tcd-w_page_menu .name:before {
  content: "STEP 1";
  display: inline-block;
  background: #97C956;
  color: #fff;
  border-radius: 1000px;
  padding: 6px 24px;
  line-height: 1;
  font-size: 1.2rem;
}

.mobile .page-id-190 .tcd-w_page_menu .name:before {
  margin-bottom: 16px;
}

.tcd-w_page_menu li:nth-of-type(2) .name:before {
  content: "STEP 2";
}

.tcd-w_page_menu li:nth-of-type(3) .name:before {
  content: "STEP 3";
}

.tcd-w_page_menu li:nth-of-type(4) .name:before {
  content: "STEP 4";
}

.tcd-w_page_menu li:nth-of-type(5) .name:before {
  content: "STEP 5";
}

.mobile .table-document th,
.mobile .table-document td {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.pc .page-id-65 .page_content_headline h3,
.pc .page-id-65 .page_content_headline_menu h3 {
  font-size: 30px;
}

.page-id-65 .tcd-w_page_menu li {
  position: relative;
}

.pc .menu_type2 .tcd-w_page_menu li {
  margin-bottom: 140px;
}

.pc .menu_type2 .tcd-w_page_menu li:last-child {
  margin-bottom: 0px;
}

.mobile .menu_type2 .tcd-w_page_menu li {
  margin-bottom: 140px;
}

.page-id-65 .tcd-w_page_menu li:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-left: 80px solid transparent;
  border-right: 80px solid transparent;
  border-top: 50px solid #e7f0db;
  bottom: -100px;
  left: calc(50% - 80px);
  border-radius: 0px;
}

.mobile .page-id-65 .tcd-w_page_menu li:before {
  bottom: -100px;
}

.pc .menu_type2 .tcd-w_page_menu li:nth-of-type(5),
.mobile .menu_type2 .tcd-w_page_menu li:nth-of-type(5) {
  margin-bottom: 0;
}

.tcd-w_page_menu li:nth-of-type(5):before {
  content: none;
}

.pc .page-id-65 .tcd-w_page_menu li {
  font-size: 110%;
  line-height: 2;
}

.page-id-65 .tcd-w_page_menu .desc {
  margin-bottom: 0;
}

.page-id-65 .tcd-w_page_menu .desc + p {
  margin-bottom: 0;
}

.page-id-65 .tcd-w_page_menu .name {
  font-weight: 600;
}

.pc .page-id-65 .tcd-w_page_menu .info .name p {
  display: inline;
  vertical-align: middle;
  margin-left: 16px;
  background:linear-gradient(transparent 60%, #e7f0db 60%);
}

.mobile .page-id-65 .tcd-w_page_menu .info .name p span {
  display: inline-block;
  background:linear-gradient(transparent 60%, #e7f0db 60%);
}

.mobile .page-id-65 .tcd-w_page_menu .name {
  text-align: center;
}

.page-id-65 .tcd-w_page_menu img {
  border-radius: 6px;
}

.page-id-65 .tcd-w_page_menu .name:before {
  content: "STEP 1";
  display: inline-block;
  background: #97C956;
  color: #fff;
  border-radius: 1000px;
  padding: 6px 24px;
  line-height: 1;
  font-size: 1.2rem;
}

.mobile .page-id-65 .tcd-w_page_menu .name:before {
  margin-bottom: 16px;
}

.tcd-w_page_menu li:nth-of-type(2) .name:before {
  content: "STEP 2";
}

.tcd-w_page_menu li:nth-of-type(3) .name:before {
  content: "STEP 3";
}

.tcd-w_page_menu li:nth-of-type(4) .name:before {
  content: "STEP 4";
}

.tcd-w_page_menu li:nth-of-type(5) .name:before {
  content: "STEP 5";
}


/* ------------------------------------------------------
   ベスティについてページ
------------------------------------------------------ */

.page-id-71 p {
  line-height: 2.5;
}

.page-id-71 .profile_caption {
  line-height: 1.5;
  font-size: 0.8rem;
  color: rgba(0,0,0, 0.4);
  background: #fafafa;
  padding: 1em;
  border-radius: 6px;
}

.page-id-71 .profile_caption p {
  line-height: 1.8;
  margin-bottom: 0;
}

.page-id-71 .profile_caption h5 {
  padding-top: 0;
}

.page-id-71 .tcd-pb-row.row3 .tcd-pb-col.col1 .tcd-pb-widget.widget1.pb-widget-image {
  margin-bottom: 15px;
}

.mobile .page-id-71 .row3 .tcd-pb-widget.pb-widget-image,
.mobile .page-id-71 .row3 .col1 .tcd-pb-widget.pb-widget-editor {
  padding: 0 24px;
}

.mobile .page-id-71 .row3 .tcd-pb-widget.pb-widget-editor .profile_caption {
  font-size: 0.7rem;
}

.pc .page-id-71 .profile-comment {
  font-size: 1.1em;
}

.mobile .page-id-71 .profile-comment p {
  line-height: 2;
}

.page-id-71 .post_content img {
  border-radius: 6px;
}


/* ------------------------------------------------------
   よくあるご質問ページ
------------------------------------------------------ */

.post_content .faq_entry .style3a {
  border-bottom: 0;
}

.faq_entry .style3a::before {
  content: "Q.";
  font-size: 25px;
  color: #2288ee;
}

.post_content .faq_entry .style3a {
  padding-left: 40px;
  position: relative;
}

.faq_entry .style3a::before {
  position: absolute;
  top: 24.2px;
  left: 0px;
  line-height: 1.3;
}

.faq_entry p {
  padding-left: 40px;
}

.faq_entry p::before {
  content: "A.";
  font-size: 25px;
  color: #D92828;
}

.faq_entry p {
  position: relative;
}

.faq_entry p::before {
  position: absolute;
  top: 0px;
  left: 0px;
  line-height: 1.2;
}


/* ------------------------------------------------------
   空き状況カレンダー
------------------------------------------------------ */

.s_calender {
  width: 800px;
  margin: 0 auto;
}

.mobile .s_calender {
  width: 100%;
}

.s_calender .text {
  text-align: center;
  margin-bottom: 24px;
  line-height: 1.7;
}

.s_calender .text .caption {
  font-size: 0.8em;
}

.s_calender .calendar_wrapper {
  height: 500px;
}

.s_calender iframe {
  width: 100%;
  height: 100%;
  border-width: 0;
}

@media screen and (min-width: 1281px) {
  .calender_sp {
    display: none;
  }
}

@media screen and (max-width: 1280px) {
  .calendar_wrapper {
    display: none;
  }

  .s_calender h2 {
    text-align: center;
  }
}

.calender_btn_wrapper {
  text-align: center;
  padding: 10px 0 8px;
}

.calender_btn {
  text-align:center;
  padding: 1em 1.5em;
  font-weight: bold;
  display: inline-block;
  border-radius: 1000px;
  border: 2px solid #55B4E0;
  text-decoration: none;
}

@media screen and (max-width: 996px) {
  .calender_btn {
    width: 100%;
    box-sizing: border-box;
  }
}

.calender_btn:hover {
  text-decoration: none;
}

.calender_btn_caption {
  font-size: 0.8em;
  padding-bottom: 10px;
  text-align: center;
}

.s_calender .text .caption {
  display: inline-block;
  padding-top: 16px;
}

.s_calender .desc {
  padding: 0.5em 0 1.5em;
}

@media screen and (max-width: 1280px) {
  .s_calender .desc {
    text-align: center;
    padding-bottom: 0;
    line-height: 1.3;
  }
}

.s_calender {
  text-align: center;
}


/* ------------------------------------------------------
   お問い合わせフォーム（Contact Form 7）
------------------------------------------------------ */

.wpcf7 .s-contact-1 {
  padding-bottom: 24px;
}

.post_content .wpcf7 h3 {
  margin: 0;
  padding: 32px 0;
  font-size: 1.5rem;
}

.post_content .wpcf7 h3 .caption {
  font-size: 0.7rem;
  font-weight: normal;
}

.wpcf7 {
  background: none;
  border: none;
  margin: 0;
  margin-bottom: 0 !important;
  padding: 0;
  font-size: 1rem;
}

.wpcf7 form {
  margin :0;
}

.wpcf7 p {
  margin-bottom: 0;
}

@media screen and (min-width: 640px) {
  .wpcf7 article.form-wrapper {
    width: 70%;
    margin: 0 auto;
  }

  .wpcf7 .row {
    display: flex;
  }

  .wpcf7 .col.form-heading {
    width: 18em;
  }

  .wpcf7 .col.form-input {
    flex: 1;
  }
}

.wpcf7 .form-agreement {
  display: block;
  text-align: center;
  line-height: 1.5;
  padding: 8px 0 8px;
}

.wpcf7 .form-agreement .caption {
  border: 1px solid #eee;
  padding: 16px;
  border-radius: 4px;
  color: #666;
  line-height: 2;
  margin-top: 16px;
}

.wpcf7 .b_privacypolicy {
  border: 1px solid #eee;
  padding: 16px;
  border-radius: 4px;
  margin-top: 16px;
}

.wpcf7 .b_privacypolicy .heading {
  font-weight: bold;
}

.wpcf7 .b_privacypolicy .text {
  font-weight: bold;
  color: #666;
  line-height: 2;
}

.wpcf7 .s-contact-2 {
  margin-bottom: 32px;
}

.wpcf7 .form-btn {
  padding: 16px 0 0;
}

.wpcf7 .row {
  margin-bottom: 8px;
}

@media screen and (max-width: 769.9px) {
  .form-heading label {
    font-weight: bold;
  }
}

.wpcf7 .form-heading {
  padding: 20px 0 12px;
}

@media screen and (min-width: 640px) {
  .wpcf7 .form-heading {
    padding: 20px 0;
  }

  .wpcf7 .form-input {
    padding: 8px 0;
  }
}

.wpcf7 .form-input .caption {
  text-align: left;
  padding-top: 8px;
  color: #999;
  line-height: 1.7;
}

/* ラジオボタン・チェックボックスの下の注意書きは、選択肢自体に下余白があるので詰める */
.wpcf7 .form-radio .caption,
.wpcf7 .form-check .caption {
  padding-top: 0;
}

.wpcf7 span.wpcf7-not-valid-tip {
  display: block;
  margin-top: 12px;
  font-size: 0.9em;
  font-weight: 600;
}

.wpcf7 .form-btn {
  display: block;
  text-align: center;
}

.wpcf7 .form-btn input:disabled,
.wpcf7 .form-btn input:disabled:hover {
  background: #ccc;
}

div.wpcf7 .ajax-loader {
  display: none;
}

.wpcf7 .form-agreement .wpcf7-list-item-label {
  vertical-align: middle;
}

.wpcf7 .form-input input,
.wpcf7 .form-input textarea {
  background: #fafafa;
  border: 1px solid #e9e9e9;
  padding: 0.8em;
  border-radius: 4px;
  font-size: 1.1em;
}

.wpcf7 .form-input input:focus,
.wpcf7 .form-input textarea:focus {
  box-shadow: none;
  border: 1px solid #b6cdd3;
  background: #f2fcff;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #bbb;
}

.wpcf7 :placeholder-shown {
  color: #bbb;
}

.wpcf7 input.wpcf7-submit {
  margin: 0;
  padding-top: 1em;
  letter-spacing: 0.1px;
  height: 3.2em;
  padding: 0;
  border-radius: 1000px;
  font-size: 1.1rem;
  background: #38BC76;
  width: 100%;
  display: inline-block;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
  margin-right: 16px;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item {
  margin-bottom: 8px;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label {
  display: inline-block;
  background: #fafafa;
  border-radius: 8px;
  padding: 16px 16px 16px 8px;
  cursor: pointer;
  transition: background-color 0.3s;
}

@media screen and (min-width: 640px) {
  .wpcf7 .wpcf7-radio .wpcf7-list-item label:hover {
    background: #e9f3ff;
  }
}

.wpcf7 .row-subject .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
  font-size: 1.1em;
}

@media screen and (min-width: 640px) {
  .wpcf7 input.wpcf7-submit {
    width: 70%;
  }
}

.wpcf7 .form-necessary:after {
  content: "※必須";
  display: inline-block;
  margin-left: 8px;
  color: #ff3345;
  font-size: 0.7rem;
  vertical-align: middle;
}

.wpcf7 label .caption {
  font-size: 0.7rem;
}

.wpcf7 select::-ms-expand {
  display: none;
}

.wpcf7 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.wpcf7 .wpcf7-select {
  position: relative;
}

.wpcf7 select {
  min-width: 10em;
  border: 1px #ccc solid;
  border-radius: 4px;
  cursor: pointer;
  padding: 12px 12px;
  padding-right: 1.5em;
  font-size: 1.1rem;
  color: #444;
  background-color: #fefefe;
}

/* 未選択のときは他のプレースホルダーと同じ色（is-empty は js/main.js が付け外しする） */
.wpcf7 select.is-empty {
  color: #bbb;
}
/* 開いたときの選択肢まで薄くならないよう、選択肢は通常の色に戻す */
.wpcf7 select.is-empty option {
  color: #444;
}

.wpcf7 .wpcf7-response-output {
  padding: 32px 0;
  text-align: center;
  line-height: 1.5;
}

.wpcf7 .btn-message {
  text-align: center;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 16px 0 24px;
  line-height: 1.7;
}

.wpcf7 input.wpcf7-submit {
  background: #97C956;
  letter-spacing: 0.1em;
}

.wpcf7 input.wpcf7-submit:hover {
  background: #9FDF4B;
}

.wpcf7 .preparation-notice {
  background: #f5f5f5;
  border-radius: 4px;
  padding: 16px;
  font-size: 0.85rem;
  line-height: 1.8;
  margin-bottom: 8px;
}

.wpcf7 .preparation-notice strong {
  margin: 0 2px;
}

.wpcf7 .caption {
  text-align: center;
}

.wpcf7 .c-embededTerms_outer {
  height: 12em;
  overflow-y: auto;
  background: #f7f7f7;
  padding: 0.5em 1em;
  border-radius: 8px;
}

.wpcf7 h2 {
  text-align: center;
  font-weight: bold !important;
}

.wpcf7 .content-privacyPolicy_signature {
  text-align: right;
  font-size: 0.9em;
}

.form-radio .wpcf7-list-item {
  display: inline-block;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ff2234;
  color: #ff2234;
  background-color: #ffccde;
  font-weight: bold;
  padding: 10px;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450;
  color: #46b450;
  background-color: #c7f7cb;;
  font-weight: bold;
  padding: 10px;
}

.row form-btn {
  position: relative;
}

.wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}


/* --- 「お問合せ」を選んだときの案内（2026-10 追加） --- */

.wpcf7 .form-inquiry-note {
  margin-top: 4px;
  padding: 12px 16px;
  border-radius: 8px;
  background: #e7f0db;
  color: #3f3936;
  font-size: 0.9em;
  line-height: 1.7;
}


/* --- 日程の入力についての案内（2026-10 追加） --- */

.wpcf7 .form-schedule-note {
  margin: 16px 0 8px;
  padding: 14px 18px;
  border-radius: 8px;
  background: #f5f5f5;
  color: #3f3936;
}
.wpcf7 .form-schedule-note_title {
  margin-bottom: 4px;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.7;
}
.wpcf7 .form-schedule-note_text {
  font-size: 0.9em;
  line-height: 1.7;
}


/* --- サービス希望期間・時間帯（2026-10 追加） --- */

/* 開始日〜終了日 */
.wpcf7 .form-period_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  /* 幅が足りず開始日と終了日が縦に折り返したときだけ効く、行の間の余白 */
  row-gap: 14px;
}
.wpcf7 .form-period_label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.85em;
  font-weight: bold;
}
.wpcf7 .form-period_sep {
  margin: 0 12px;
  padding-bottom: 1em;
}
.wpcf7 .form-period input[type="date"] {
  box-sizing: border-box;
  width: 11em;
  max-width: 100%;
  /* iPhone 対策：日付の文字が青くなるので、他の入力欄と同じ色を指定する */
  color: #000;
  /* iPhone 対策：未入力だと中身の高さがゼロになり欄が低くなるので、他の入力欄と同じ高さ（行の高さ 1.2em + 上下余白 1.6em + 枠線 2px）を確保する */
  min-height: calc(2.8em + 2px);
}

/* iPhone 対策：入力した日付が中央揃えになるのを左揃えにする（この疑似要素は iPhone の Safari だけが持つ） */
.wpcf7 .form-period input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
}

/* 未入力のときは他のプレースホルダーと同じ色（is-empty は js/main.js が付け外しする） */
.wpcf7 .form-period input[type="date"].is-empty {
  color: #bbb;
}

/* 時間帯のチェックボックス（ラジオボタンと同じ見た目） */
.wpcf7 .form-check .wpcf7-list-item {
  display: inline-block;
  margin-left: 0;
  margin-right: 16px;
  margin-bottom: 8px;
}
.wpcf7 .form-check .wpcf7-list-item label {
  display: inline-block;
  background: #fafafa;
  border-radius: 8px;
  padding: 16px 16px 16px 8px;
  cursor: pointer;
  transition: background-color 0.3s;
}
@media screen and (min-width: 640px) {
  .wpcf7 .form-check .wpcf7-list-item label:hover {
    background: #e9f3ff;
  }
}

/* ------------------------------------------------------
   ブログ記事
------------------------------------------------------ */

body.single #post_image {
  display: none;
}
