p {
  padding-bottom: .5rem;
}

/* お知らせ一覧 */
.section_news .section_inner,
.section_post_body .section_inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
.navigation.pagination {
  text-align: center;
  margin-top: 3rem;
  a {
    border-bottom: none;
  }
  .page-numbers {
    padding: .25rem;
    font-weight: 400;
    color: var(--text-head-color);
  }
  .page-numbers.current {
    border-bottom: 1px solid var(--accent-color);
  }
  .next.page-numbers,
  .prev.page-numbers {
    font-weight: 300;
    color: var(--text-head-color);
    position: relative;
    padding: .25rem 1rem .25rem .25rem;
  }
  .prev.page-numbers {
    padding: .25rem .25rem .25rem 1rem;
  }
  .next.page-numbers::after,
  .prev.page-numbers::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 10px;
    border-bottom: 2px solid var(--accent-color);
    border-right: 2px solid var(--accent-color);
    transform: skewX(50deg) translateX(0);
    transition: transform .3s ease;
  }
  .prev.page-numbers::before {
    border-right: none;
    right: 0;
    left: auto;
    border-left: 2px solid var(--accent-color);
    transform: skewX(-50deg) translateX(0);
  }
  a.next.page-numbers:hover::after,
  a.next.page-numbers:focus-visible::after {
    transform: skewX(50deg) translateX(10%);
  }
  a.prev.page-numbers:hover::before,
  a.prev.page-numbers:focus-visible::before{
    transform: skewX(-50deg) translateX(-10%);
  }
  a.page-numbers:hover {
    color: var(--accent-color);
  }
}
#sub {
  a {
    border-bottom: none;
  }
  .widget-title {
    background: var(--logo-brown-dark);
    color: var(--white);
    padding: .25rem;
  }
  .archive-list {
  padding: 0;
  }
  .archive-list details {
    border-bottom: 1px solid var(--bg-color-dark);
  }
  .archive-list summary {
    cursor: pointer;
    padding: .5rem 0 .5rem;
    position: relative;
  }
  .archive-list summary:hover {
    color: var(--accent-color);
  }
  .archive-list summary::-webkit-details-marker {
    display: none;
  }
  .archive-list summary::after {
    content: "";
    transition: transform 0.3s ease;
    border-bottom: solid 1px var(--text-head-color);
    border-left: solid 1px var(--text-head-color);
    transform: rotate(-45deg);
    position: absolute;
    top: calc(50% - .45rem);
    right: 4px;
    width: .5rem;
    height: .5rem;
  }
  .archive-list details[open] summary::after {
    top: calc(50% - .2rem);
    transform: rotate(-225deg);
  }
  .month-archive-list li {
    border-bottom: 1px solid var(--bg-color-dark);
    padding: .25rem;
  }
  .month-archive-list li:last-child {
    border-bottom: 1px solid rgb(255 255 255 / 0%);
  }

  /* 開閉アニメーション */
  .month-archive-list {
    padding: 0 0 0 1rem;
  }
  details summary {
    cursor: pointer;
    display: block;
  }
  details summary::-webkit-details-marker {
    display: none;
  }
}
@media (min-width: 1024px) {
  .section_news .section_inner,
  .section_post_body .section_inner {
    grid-template-columns: 7fr 1fr;
  }
}

/* お知らせ本文ページ */
.section_post_body {
  .post-date {
    margin-top: .75rem;
    border-top: 1px solid var(--logo-brown);
    padding-top: .75rem;
  }
  .post_title {
    font-size: 2rem;
    border-bottom: 1px solid var(--logo-brown);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }
  .post_wrap {
    overflow-wrap: anywhere;
  }
}

/*お知らせ本文内スタイル*/
.post .post_body, .front-page_tease .tease_news_body {
  p {
    margin-bottom: 1rem;
  }
  h1.wp-block-heading {
    font-size: 4rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
  }
  h2.wp-block-heading {
    font-size: 3rem;
    font-weight: 700;
    color: var(--text-head-color);
    margin: 2rem 0 1rem;
  }
  h3.wp-block-heading {
    font-weight: 500;
    font-size: 1.5rem;
    margin: 2rem 0 1rem;
  }
  h4.wp-block-heading {
    font-size: 1.5rem;
    color: var(--text-head-color);
    margin: 1rem 0 0.5rem;
  }
  h5.wp-block-heading {
    font-weight: 400;
  }
  h6.wp-block-heading {
    font-style: italic;
  }
  strong {
    font-weight: bold;
  }
  em {
    font-style: italic;
  }
  .alignright {
    margin: 0 0 0 auto;
    float: none;
  }
  del {
    text-decoration: line-through;
  }
  hr {
    background: #000;
    height: 2px;
    width: 100%;
    border: none;
  }
  .has-text-color {
    color: var(--text-color);
  }
  .has-text-color-background-color {
    background: var(--text-color);
  }
  .has-accent-color {
    color: var(--accent-color);
  }
  .has-accent-color-background-color {
    background: var(--accent-color);
  }
  .has-text-head-color {
    background: var(--text-head-color);
  }
  .has-text-head-color-background-color {
    background: var(--text-head-color);
  }
  .has-bg-color-dark {
    background: var(--bg-color-dark);
  }
  .has-bg-color-dark-background-color {
    background: var(--bg-color-dark);
  }
  .has-white-color {
    color: var(#fff);
  }
  .has-white-background-color {
    background: var(--white);
  }
}

/* 病院紹介 */
.about {
  .style_list.pay_list li:before {
    display: none;
  }
  .pay_list {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  .pay_list li {
    flex-grow: 1;
    padding: 0;
  }
  .pay_list li.pay_cash {
    width: 100%;
  }
  .pay_list img {
    max-height : 40px;
  }
}

/* スタッフ紹介 */
body.staff {
  .is-layout-grid {
    grid-template-columns: 1fr;
  }
  .wp-block-media-text {
    padding-top: 1rem;
    gap: 1rem;
  }
  .wp-block-media-text__content {
    padding: 0;
  }
  h3.wp-block-heading {
    margin: 1rem 0;
  }
  .wp-block-table {
    width: 100%;
  }
  .wp-block-table td:first-child {
    width: 7rem;
  }
  .wp-block-list {
    padding: 0 0 .5rem;
  }
  @media (min-width: 1024px) {
    .is-layout-grid {
      grid-template-columns: 1fr 1fr;
    }
    .wp-block-media-text {
      padding-top: 0;
    }
    .wp-block-media-text {
      gap: 2rem;
    }
  }
}

/* 診療案内 */
.single_table.wp-block-table table {
  width: auto;
  td,th {
    padding: 1rem 1.5rem;
  }
  tr {
    background: var(--white);
  }
  td:first-child {
    background: var(--logo-brown-pale);
  }
}
body.guide {
  .is-layout-flex.grid3_7 {
    align-items: start;
    gap: 1rem;
    h3.wp-block-heading {
      margin: 0;
    }
  }
  .btn {
    margin: 1em 0 0;
  }
}
@media (min-width: 1024px) {
  .guide {
  }
}

/* 料金表 */
.price {
  .grid2 > .wp-block-group__inner-container {
    gap: 3rem;
  }
  .tax_note {
    margin-bottom: 3rem;
  }
  .price_note {
    font-size: .9rem;
    color: var(--logo-brown-dark);
  }
  .wp-block-table td {
    width: auto;
  }
  .wp-block-table td:nth-child(2) {
    width: 25%;
    min-width: 7.5rem;
  }
}

/* アクセス */
.access {
  .parking_partners {
    text-align: center;
    font-weight: 500;
    margin-bottom: .5rem;
  }
  .parking_partners p {
    font-size: 1.25rem;
  }
  .parking_partners span {
    background: var(--logo-brown-dark);
    color: var(--white);
    margin: 0 .25rem;
    padding: .25rem;
    border-radius: var(--border-radius);
    font-weight: 300;
  }
  .parking_partners span:first-child {
    margin-left: .5rem;
  }
  .map_parking {
    text-align: center;
  }
  .map_parking img {
    width: 100%;
    max-width: 500px;
  }
}

/* よくある質問 */
.faq{
  .faq_list{
    display: block;
    background: #fff;
    padding: 1.5rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
  }
  .faq_q {
    padding: 0;
  }
  .faq_a {
    margin-top: 1rem;
    padding: 1rem 0 0;
    border-top: 1px solid var(--logo-brown-dark);
  }
  .faq_q::before {
    content:'Q.';
    color: var(--logo-brown-dark);
    font-weight: 500;
  }
  .faq_a:before {
    content: 'A.';
    color: var(--logo-brown-light);
    font-weight: 500;
  }
}

/* 採用情報 */
.recruit, .job {
  .recruit_item {
    background: #fff;
    padding: 0 1.5rem 1.5rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
  }
  .recruit_item table {
    width: 100%;
  }
  .wp-block-table td:first-child {
    width: 6rem;
  }
}


/* お問い合わせ */
.contact, .recruit{
  .required {
    color: var(--accent-color);
  }
}
.contact {
  .grid2 > .wp-block-group__inner-container {
    gap: 3rem;
  }
  h2.wp-block-heading {
    margin-bottom: 1rem;
  }
  .grid_item .dashicons.dashicons-phone {
    color: var(--logo-brown-dark);
    margin-right: .5rem;
  }
  .item_line img {
    max-width: 2rem;
    padding-right: .5rem;
  }
}
.wpcf7-form {
  background: var(--logo-brown-pale);
  padding: 1.5rem;
  border-radius: var(--border-radius);
  .wpcf7-text,.wpcf7-textarea,.wpcf7-number,.wpcf7-submit {
    background: var(--white);
    border: 1px solid var(--text-head-color);
    border-radius: var(--border-radius);
  }
  .wpcf7-text,.wpcf7-textarea {
    width: calc(100% - 8px);
    padding: .25rem;
  }
  .wpcf7-number,.wpcf7-submit {
    padding: .25rem;
  }
  input[type="radio"] {
    opacity: 0;
    visibility: hidden;
    position: absolute;
  }
  .wpcf7-list-item.first {
    margin-left: 0;
  }
  span.wpcf7-list-item-label {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
  }
  span.wpcf7-list-item-label::before {
    display: block;
    content: "";
    border-radius: 50%;
    border: 2px solid var(--logo-brown-dark);
    width: 1rem;
    height: 1rem;
    margin-right: 10px;
    background: #fff;
  }
  span.wpcf7-list-item-label::after {
    display: block;
    position: absolute;
    content: "";
    border-radius: 50%;
    width: .8rem;
    height: .8rem;
    background-color: var(--logo-brown-dark);
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
  }
  input[type="radio"]:checked + span.wpcf7-list-item-label::after,
  input[type="checkbox"]:checked + span.wpcf7-list-item-label::after {
    display: block;
  }
  .contact_title {
    font-size: 1.25rem;
    margin: 3rem 0 1rem;
    border-bottom: 2px solid var(--logo-brown-dark);
    padding: .5rem;
  }
  .contact_title.first {
    margin: 0rem 0 1rem;
  }
  .contact_item {
    margin-top: 1.5rem;
  }
  .contact_item.pet_age {
    margin-top: 0;
  }
  .massage_note {
    margin-top: 1.5rem;
  }
  .contact_item.message {
    margin-top: .5rem;
  }
  .contact_item.item_acceptance {
    margin: .5rem 0 .75rem;
  }
  .form_grid label {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
  }
  input.wpcf7-number {
    padding: .3rem .5rem;
    margin-right: .5rem;
  }
  .wpcf7-not-valid-tip {
    font-weight: 300;
  }
  .wpcf7-submit {
    padding: .25rem .75rem;
  }
  .wpcf7 form .wpcf7-response-output {
    background: #fff;
  }
  .submit_wrap input[type="submit" i] {
    background: var(--logo-brown-light);
    color: var(--white);
  }
  .submit_wrap input:disabled {
    background: #fff;
    color: var(--grey);
  }
}
@media (min-width: 1024px) {
  .form_wrap {
    max-width: 750px;
    margin: auto;
  }
  .wpcf7-form .form_grid label {
    grid-template-columns: 8rem 1fr;
  }
}

/* リンクホバー */
.section a {
  border-bottom: 1px solid var(--accent-color);
}
.section .wp-block-image a {
  border-bottom: none;
}
.section a:hover {
  color: var(--accent-color);
}
.btn a {
  border-bottom: none;
}

/* ログイン中のみ表示する注意書き */
.is_login_note {
  color: var(--grey);
  padding-top: 1rem;
}

/* 404 */
.notfound_page {
  .section_inner {
    text-align: center;
  }
  .btn {
    text-align: center;
  }
  .btn a {
    border-bottom: 0;
    padding: .25rem .25rem .25rem 2rem;
  }
  .btn a::before {
    right: 0;
    left: auto;
    border-right: 0;
    border-left: 2px solid var(--accent-color);
    transform: skewX(-50deg) translateX(10%);
  }
  .btn a:hover::before {
    transform: skewX(-50deg) translateX(0%);
  }
}