/* 共通 */
body {
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #202020;
}

.pc-only {
    display: none;
}

.c_common-inner {
    padding: 0 16px;
    max-width: 600px;
    margin: 0 auto;
}


@media screen and (min-width: 1024px) {
    .pc-only {
        display: block;
    }

    .sp-only {
        display: none;
    }

    .c_common-inner {
        max-width: 1220px;
        padding: 0 30px;
    }
}

/* 追加ウィジェット（フッター上） */
.l-contents-widget-area {
    padding: 48px 0;
}

.c_common-info__column {
    margin-top: 24px;
}

.c_common-info__access {
    margin-top: 24px;
}

.c_common-info__scheduleBox, .c_common-info__accessContainer {
    margin-top: 24px;
}

h3.wp-block-heading.c_common-info__scheduleHeading, h3.wp-block-heading.c_common-info__accessHeading {
    font-size: 18px;
    padding-bottom: 4px;
}

h3.c_common-info__scheduleHeading.wp-block-heading:before, h3.c_common-info__accessHeading.wp-block-heading:before {
    top: 10px;
}



@media (min-width: 1024px) {

    .c_common-info__column {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 90px;
    }

    .c_common-info__column>section {
        width: calc(50% - 45px);
    }

    .c_common-info__access {
        margin-top: 0;
    }

    h3.wp-block-heading.c_common-info__scheduleHeading, h3.wp-block-heading.c_common-info__accessHeading {
        font-size: 20px;
    }
}

/* ドロワーメニュー */
.c-drawer .menu-item {
    border-bottom: 1px dashed #DADADA;
}

/* ヘッダー */
/* 固定ページヘッダー */
.c-page-header[data-has-image=true] {
    height: 200px;
}

 /* 固定ページタイトル */
 .c-page-header__title {
    position: relative;
    z-index: 1;
    color: #000;
    text-align: center;
    font-weight: 500;
    font-size: 24px;
}

.c-page-header__title:before {
    content: "";
    position: absolute;
    top: -40px;    
    left: 50%;
    transform: translateX(-50%);
    width: 140px;
    aspect-ratio: 200 / 225;
    background: url(./override/templates/view/img/p-title_bg.png) no-repeat center center /contain;
}

@media (min-width: 1024px) {
    .c-page-header[data-has-image=true] {
        height: 400px;
    }

    .c-page-header__title {
        font-size: 32px;
    }

    .c-page-header__title:before {
        width: 200px;
        top: -56px;
        z-index: -1;
    }
}

/* セクションタイトル */

@media (min-width: 1024px) {
}

/* ヘッダーコンテンツ（PC） */
.c_header-contents__info {
    text-align: center;
}

.c_header-contents__infoText {
    color: #315A98;
    font-size: 16px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: calc(0.64 / 16 *1em);
    padding: 0 10px;
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

.c_header-contents__infoText:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(36deg);
    width: 1px;
    height: 14px;
    background-color: #315A98;
}

.c_header-contents__infoText:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-36deg);
    width: 1px;
    height: 14px;
    background-color: #315A98;
}

.c_header-contents__infoLink {
    text-decoration: none;
    color: #315A98;
    font-size: 28px;
    font-weight: 700;
    line-height: 100%;
    transition: all 0.3s ease 0s;
    padding-left: 23px;
    background: url(./override/templates/view/img/icon_tel.svg) no-repeat bottom 7px left / 20px 20px;
}

.c_header-contents__infoLink:hover {
    opacity: 0.7;
}

/* ボタン */

.c_common-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: fit-content;
    border-radius: 24px;
    background: #315A98;
    color: #FFF;
    border: 1px solid #315A98;
    text-decoration: none;
    text-align: center;
    padding: 3px 54px;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    transition: all 0.3s ease 0s;
}

.c_common-btn--green {
    background-color: #A4D637;
    border-color: #A4D637;
}

.c_common-btn--orange {
    background-color: #F8B62D;
    border-color: #F8B62D;
}

.c_common-btn span {
    font-size: 15px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: calc(1.5 / 15 *1em);
}

.c_common-btn:hover {
    background-color: #fff;
    color: #315A98;
}

.c_common-btn--green:hover {
    background-color: #fff;
    color: #A4D637;
}

.c_common-btn--orange:hover {
    background-color: #fff;
    color: #F8B62D;
}

.c_common-btn:before {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    content: "";
    transition: all 0.3s ease 0s;
}

.c_common-btn:hover:before {
    right: 0.7em;
}

/* セクションタイトル */
.c_common-titleHeader__subTitle {
    display: block;
    color: #315A98;
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 600;
    line-height: calc(20 / 16);
    color: #315A98;
    text-align: center;
}

.c_common-titleHeader__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: calc(1.2 / 24 *1em);
    padding-top: 20px;
    margin-top: 16px;
    position: relative;
    text-align: center;
}

.c_common-titleHeader__title:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #315A98;
}

@media screen and (min-width: 1024px) {
    .c_common-titleHeader__title {
        font-size: 24px;
    }

    .c_common-titleHeader--pcLeft .c_common-titleHeader__subTitle {
        text-align: left;
    }

    .c_common-titleHeader--pcLeft .c_common-titleHeader__title {
        text-align: left;
    }

    .c_common-titleHeader--pcLeft .c_common-titleHeader__title:before {
        left: 0;
        transform: none;
    }
}


/* 記事詳細 */
.c-meta__item--author {
    display: none;
}

/* フッター */
.l-footer-widget-area, .l-footer .c-copyright {
    background: #315A98;
}

.l-footer-widget-area>.c-container>.c-row {
    align-items: center;
}

.c_footer-info__block {
    font-weight: 500;
}

.c_footer-link-area {
    justify-content: center;
}

.c_footer-link a {
    font-weight: 500;
}

.c_footer-link a.wp-block-button__link:before {
    background-color: #fff;
}

  .c-copyright--inverse {
    font-size: 14px;
    padding-top: 0;
  }

  /* スマホ固定メニュー */
  .p-footer-sticky-nav {
    box-shadow: 0 0 4px rgba(0, 0, 0, .1);
    height: 60px;
  }

  .p-footer-sticky-nav .c-navbar {
    height: inherit;
  }

  .p-footer-sticky-nav .c-navbar__item {
    align-items: center;
  }

    .p-footer-sticky-nav .c-navbar__item:nth-child(2) {
    background: #315A98;
    color: #fff;
  }

  .p-footer-sticky-nav .c-navbar__item:last-child {
    background: #EDF6FB;
  }

  .p-footer-sticky-nav .c-navbar__item span {
    display: block;
    font-size: 10px;
  }

  .p-footer-sticky-nav a {
    font-weight: 500;
    font-size: 14px;
  }

.p-footer-sticky-nav .c-navbar__item>a {
	padding: 10px 0;
}

/* ヘッダー */
.custom-logo-link img {
    display: block;
}

@media screen and (max-width: 1023px) {
    .custom-logo-link img {
        margin: 0 auto;
    }
}

/* ハンバーガーメニュー　MENU非表示 */
.c-hamburger-btn__label {
    clip: rect(1px,1px,1px,1px);
    position: absolute!important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

/*==================================================
# トップページ
==================================================*/
/* ファーストビュー */
.index-fv__slider {
    padding-left: calc(20 / 375 * 100%);
    max-height: 400px;
}

.index-fv__contents {
    position: absolute;
    top: 55px;
    left: 0;
    }

.index-fv__heading {
    color: #424242;
    font-size: clamp(20px, calc(20 / 375 * 100vw), 30px);
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.index-fv__heading:before {
    content: "";
    position: absolute;
    top: -34px;
    left: calc(46 / 375 * 100vw);
    width: min(calc(145 / 375 * 100vw), 180px);
    aspect-ratio: 145 / 163;
    background: url(./override/templates/view/img/index-fv_heading-bg.png) no-repeat center center /cover;
    z-index: -1;
}

.index-fv__sliderItem {
    padding-left: calc(30 / 375 * 100%);
    background: #fff;
}

.index-fv__sliderItem img {
   object-fit: cover; 
   width: 100%;
   height: 100%;
   border-radius: 24px 0 0 24px;
}

.index-fv__inner {
    padding: 0 20px;
    margin-top: -98px;
}

.index-fv__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
    padding: 0;
    max-width: 400px;
}

.index-fv__item {
    background-color: #fff;
    width: 122px;
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #424242;
    line-height: 1.3;
    border: 2px solid #315A98;
    border-radius: 50%;
    text-align: center;
    position: relative;
    padding-top: 16px;
    z-index: 1;
}

.index-fv__item:nth-child(2) {
    border: 2px solid #BFE8FF;
}

.index-fv__item:nth-child(3) {
    border: 2px solid #A4D637;
    margin-left: 68px;
}

.index-fv__item:nth-child(4) {
    border: 2px solid #FABE49;
}

.index-fv__item:before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    aspect-ratio: 1 / 1;
    background: url(./override/templates/view/img/index-fv_icon_01.png) no-repeat center center /contain;
}

.index-fv__item:nth-child(2):before {
    background: url(./override/templates/view/img/index-fv_icon_02.png) no-repeat center center /contain;
}

.index-fv__item:nth-child(3):before {
    background: url(./override/templates/view/img/index-fv_icon_03.png) no-repeat center center /contain;
}

.index-fv__item:nth-child(4):before {
    background: url(./override/templates/view/img/index-fv_icon_04.png) no-repeat center center /contain;
}


@media (min-width: 1024px) {
   .index-fv {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 30px;
    position: relative;
    z-index: 1;
    
   }

   .index-fv__slider {
    max-height: none;
    padding-left: 0;
   }

   .index-fv__contents {
    top: 164px;
    left: 90px;
   }

   .index-fv__heading {
    font-size: 32px;
   }

   .index-fv__heading:before {
    top: -64px;
    left: 60px;
    width: 240px;
   }

   .index-fv__sliderItem {
    padding-left: 0;
   }

   .index-fv__sliderItem img {
    border-radius: 80px;
   }

   .index-fv__inner {
    padding: 0;
    position: absolute;
    margin-top: 0;
    bottom: 46px;
   }

   .index-fv__list {
    padding-left: 50px;
    max-width: 100%;
    flex-wrap: nowrap;
   }

   .index-fv__item {
    width: 130px;
    font-size: 15px;
    padding-top: 24px;
   }

   .index-fv__item:nth-child(3) {
    margin-left: 0;
   }
}

/*お知らせ・当院紹介動画・診察時間・アクセス */
.index-info {
    padding: 30px 0 40px;
}

.index-info__newsList {
    margin-top: 16px;
    background-color: #fff;
    padding: 8px 12px 40px;
    list-style: none;
}

.index-info__newsItem {
    
}

.index-info__newsLink {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease 0s;
    color: inherit;
    padding: 16px 0;
    border-bottom: 1px solid #BFE8FF;
}

.index-info__newsLink:hover {
    opacity: 0.7;
}

.index-info__newsDate {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
}

.index-info__newsHeading {
    margin-top: 10px;
    font-weight: 500;
    line-height: 1.2;
	font-size: 16px;
}

.index-info__btnArea {
    margin-top: 24px;
}

.index-info__btn {
    margin: 0 auto;
}

.index-info__schedule {
    padding-top: 40px;
    scroll-margin-top: 40px;
}

.index-info__scheduleBox {
    margin-top: 24px;
}

.c_common-scheduleBox__tableWrapper {
   background-color: #EDF6FB;
    padding: 20px 10px; 
    border-radius: 20px;
}

.c_common-scheduleTable {
    width: 100%;
}

.c_common-scheduleTable thead {
    color: #315A98;
    font-weight: 500;
    text-align: center;
}

.c_common-scheduleTable tbody {
    text-align: center;
}

.c_common-scheduleTable th:first-child {
    width: 110px;
}

.c_common-scheduleHoliday {
    margin-top: 8px;
    display: block;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.05em;
}

.index-info__access {
    padding-top: 40px;
    scroll-margin-top: 40px;
}

.index-info__accessContainer {
    margin-top: 30px;
}

.c_common-accessContainer__block {
    padding-left: 30px;
}

.c_common-accessContainer__block + .c_common-accessContainer__block {
    margin-top: 20px;
}

.c_common-accessContainer__block:first-child {
    background: url(./override/templates/view/img/icon_map.svg) no-repeat top 2px left /20px 27px;
}

.c_common-accessContainer__block:nth-child(2) {
    background: url(./override/templates/view/img/icon_train.svg) no-repeat top 2px left /24px 23px;
}

.c_common-accessText {
    font-weight: 500;
    line-height: 1.6;
}

.c_common-accessContainer__btnArea {
    margin-top: 30px;
}

.c_common-accessContainer__btn {
    margin-inline: auto;
}


@media (min-width: 1024px) {
    .index-info {
        padding: 60px 0 80px;
    }

    .index-info__column {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 90px;
    }

    .index-info__column>section {
        width: calc(50% - 45px);
    }

    .index-info__newsList {
        margin-top: 30px;
        padding: 0;
    }

    .index-info__newsItem {
        
    }

    .index-info__newsLink {
        padding: 20px 0;
        display: flex;
        gap: 32px;
        align-items: center;
    }

    .index-info__newsHeading {
        margin-top: 0;
    }

    .index-info__btnArea {
        margin-top: 32px;
    }

    .index-info__schedule {
        padding-top: 0;
    }

    .index-info__scheduleBox {
        margin-top: 32px;
    }

    .index-info__scheduleBtnArea {
        margin-top: 0;
    }

    .c_common-scheduleBox__tableWrapper {
        padding: 40px;
        border-radius: 32px;
    }

    .c_common-scheduleTable {
        font-size: 18px;
    }

    .c_common-scheduleHoliday {
        margin-top: 12px;
        padding-left: 23px;
    }

    .index-info__access {
        padding-top: 0;
    }

    .index-info__accessContainer {
        margin-top: 32px;
    }
}


/* 根管治療サイトバナー */
.index-banner__inner {
    padding: 0 20px;
    margin: 0 auto;
    max-width:840px;
}

.index-banner__link {
    transition: all 0.3s ease 0s;
}

.index-banner__link:hover {
    opacity: 0.7;
}

@media screen and (min-width: 1024px) {
    .index-banner__link {
        pointer-events: none;
    }
    
}

/* ご挨拶 */
.index-greeting {
    margin-top: 63px;
    padding-bottom: 35px;
    position: relative;
}

.index-greeting:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 35px;
    background-color: #F4F7FA;
    clip-path: ellipse(50% 100% at center top);
}

.index-greeting__bg {
    padding: 47px 0 25px;
    background: url(./override/templates/view/img/index-greeting-bg_sp.png) no-repeat top center /cover;
}

.index-greeting__photoArea {
    margin-top: 30px;
    position: relative;
}

.index-greeting__photo {
    margin-right: calc(35 / 375 * 100%);
}

.index-greeting__photo img {
    border-radius: 0 24px 24px 0;
}

.index-greeting__text {
    padding: 0 20px;
    margin-top: 24px;
}

.index-greeting__btnArea {
    margin-top: 30px;
}

.index-greeting__btnWrapper + .index-greeting__btnWrapper {
    margin-top: 32px;
}

.index-greeting__btn {
    max-width: 220px;
    width: 100%;
    font-size: 16px;
    margin-inline: auto;
}

@media screen and (min-width: 1024px) {
    .index-greeting {
        margin-top: 80px;
        padding-bottom: 100px;
    }

    .index-greeting:before {
        height: 100px;
    }

    .index-greeting__bg {
        background: url(./override/templates/view/img/index-greeting-bg_pc.png) no-repeat top center /cover;
    }

    .index-greeting__bg {
        padding: 180px 0 50px;
    }

    .index-greeting__inner {
        max-width: 1440px;
        margin: 0 auto;
    }

    .index-greeting__column {
        display: flex;
        gap: 80px;
    }

    .index-greeting__photoArea {
        margin-top: 0;
        width: calc(640 / 1440 * 100%);
    }

    .index-greeting__photo {
        margin-right: 0;
    }

    .index-greeting__body {
        width: calc(560 / 1440 * 100%);
    }

    .index-greeting__text {
        padding: 0;
        margin-top: 40px;
    }

    .index-greeting__btnArea {
        margin-top: 80px;
        display: flex;
        justify-content: center;
        gap: 60px;
    }

    .index-greeting__btnWrapper {
        width: 100%;
        max-width: 220px;
    }

    .index-greeting__btnWrapper + .index-greeting__btnWrapper {
        margin-top: 0;
    }

}

/* 診療メニュー */
.index-menu {
    padding: 40px 0 50px;
}

.index-menu__text {
    margin-top: 30px;
    line-height: 2;
}

.index-menu__list {
    margin: 24px auto 0;
    gap: 20px 0;
    max-width: 560px;
    list-style: none;
    padding-left: 0;
    justify-items: center;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.index-menu__item {
    border-radius: 32px;
    background: #EDF6FB;
    min-width: 150px;
    min-height: 150px;
    display: grid;
    place-items: center;
}

.index-menu__link {
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.3s ease 0s;
}

.index-menu__link:hover {
    opacity: 0.7;
}

.index-menu__icon {
    width: 74px;
}

.index-menu__heading {
    color: #315A98;
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: calc(1 / 20 *1em);
    text-align: center;
}


@media screen and (min-width: 1024px) {
    .index-menu {
        padding: 80px 0 100px;
    }

    .index-menu__text {
        margin-top: 40px;
        text-align: center;
    }

    .index-menu__list {
        margin-top: 50px;
        gap: 32px;
        max-width: 100%;
    }

    .index-menu__item {
        width: 100%;
        min-width: auto;
        min-height: auto;
        aspect-ratio: 1 / 1;
    }

    .index-menu__heading {
        font-size: 20px;
    }

    .index-menu__icon {
    }
}

/* 当院の特徴 */
.index-features {
    padding-bottom: 50px;
    background: linear-gradient(180deg, #fff 0%, #fff 64px, #F4F7FA 64px, #F4F7FA 100%);
}

.index-features__list {
    padding: 0 12px;
    list-style: none;
    margin-top: 40px;

}

.index-features__item {
    text-align: center;
    display: flex;
    flex-direction: column;
}

.index-features__item + .index-features__item {
    margin-top: 40px;
}

.index-features__image img {
    border-radius: 24px;
}

.index-features__itemNumber {
    color: #B8B8B8;
    font-family: Poppins;
    font-size: 32px;
    font-style: italic;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: calc(1.6 / 32 *1em);
    margin-top: -16px;
    display: block;
}

.index-features__itemHeading {
    margin-top: 8px;
    color: #202020;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: calc(0.9 / 18 *1em);
}

.index-features__itemText {
    margin-top: 8px;
    color: #202020;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: calc(0.7 / 14 *1em);
    margin-bottom: 16px;
}

.index-features__itemBtnArea {
    margin: auto auto 0;
    width: fit-content;
}

.index-features__itemBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: fit-content;
    border-radius: 24px;
    background: #fff;
    color: #202020;
    font-weight: 500;
    border: 1px solid #A4D637;
    text-decoration: none;
    text-align: center;
    padding: 3px 54px;
    font-size: 14px;
    position: relative;
    transition: all 0.3s ease 0s;
}

.index-features__itemBtn:hover {
    opacity: 0.7;
}

.index-features__item:nth-child(2) .index-features__itemBtn, .index-features__item:nth-child(5) .index-features__itemBtn {
    border-color: #315A98;
}

.index-features__item:nth-child(3) .index-features__itemBtn {
    border-color: #F8B62D;
}

.index-features__itemBtn:before {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    content: "";
}

@media screen and (min-width: 1024px) {
    .index-features {
        padding-bottom: 80px;
        background: linear-gradient(180deg, #fff 0%, #fff 72px, #F4F7FA 72px, #F4F7FA 100%);
    }

    .index-features__list {
        padding: 0;
        margin-top: 104px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 60px 40px;
    }

    .index-features__item {
        width: calc(100% / 3 - 40px * 2 / 3);
    }

    .index-features__item + .index-features__item {
        margin-top: 0;
    }

    .index-features__image img {
        border-radius: 32px;
    }

    .index-features__itemNumber {
        font-size: 48px;
        margin-top: -24px;
    }

    .index-features__itemHeading {
        margin-top: 12px;
        font-size: 20px;
    }

    .index-features__itemText {
        margin-top: 12px;
        font-size: 16px;
        margin-bottom: 24px;
    }




}

/* スライダー */
.index-slider {
    margin-top: 50px;
    padding-bottom: 50px;
}
.index-slider__wrapper {
    transition-timing-function: linear;
}

.index-slider__item img {
    height: auto;
    width: 100%;
    aspect-ratio: 320 / 213;
    object-fit: cover;
    border-radius: 24px;
}

@media (min-width: 1024px) {
    .index-slider {
        margin-top: 50px;
    }
}


/*==================================================
# 下層ページ
==================================================*/
/* サイドバー */


h2.wp-block-heading.c_sidebar-heading {
    font-size: 18px!important;
    font-weight: 500;
    color: #fff;
    max-width: 400px;
    display: block!important;
    text-align: center;
    padding: 10px 0;
}

.l-sidebar-widget-area .widget_block:first-child .c_sidebar-heading {
    background-color: #F8B62D;
}

.l-sidebar-widget-area .widget_block:nth-child(2) .c_sidebar-heading {
    background-color: #A4D637;
}

.l-sidebar-widget-area .widget_block:nth-child(3) .c_sidebar-heading {
    background-color:#315A98;
}

.c_sidebar-list {
    padding-left: 0;
    list-style: none;
}

.c_sidebar-list li {
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px solid #DADADA;
    padding-left: 40px;
    position: relative;
}

.c_sidebar-list li:before {
    position: absolute;
    top: 50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    content: "";
    transition: all 0.3s ease 0s;
}

.c_sidebar-list li a {
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease 0s;
}

.c_sidebar-list li a:hover {
    opacity: 0.7;
}

.c_sidebar-list li:last-child {
    border-bottom: none;
}

/* 固定ページ　目次リンク */
.c_page-menu {
    padding-left: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px 20px;
}

.c_page-menu li {
    margin-top: 0;
}


.c_page-menu li a {
    text-decoration: none;
    color: #fff;
    transition: all 0.3s ease 0s;
    background-color: #315A98;
    border-radius: 16px;
    padding: 12px 0;
    display: block;
    text-align: center;
    font-weight: 500;
}

/* 固定ページセクションタイトル */
.smb-section__subtitle {
    display: block;
    color: #315A98;
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 600;
    line-height: calc(20 / 16);
    color: #315A98;
    text-align: center;
}

.smb-section__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: calc(1.2 / 24 *1em);
    padding-top: 20px;
    margin-top: 16px;
    position: relative;
    text-align: center;
}


.smb-section__title:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #315A98;
}

.smb-section__title::after {
    display: none;
}

@media screen and (min-width: 1024px) {
    .smb-section__subtitle {
        text-align: left;
    }

    .smb-section__title {
        font-size: 24px;
        text-align: left;

    }

    .smb-section__title:before {
        left: 0;
        transform: none;
    }
}

/* 表 */
.wp-block-table {
    font-weight: 500;
}

.wp-block-table tr td:first-child {
    background-color: #EDF6FB;
}

/* 地図 */
.c_map iframe {
    width: 100%;
    height: 324px;
    border-radius: 32px;
}

/* h3見出し */
h3.wp-block-heading {
    padding: 0 0 10px 30px;
    border-bottom: 1px solid #BFE8FF;
    position: relative;
}

h3.wp-block-heading:before {
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    width: 18px;
    aspect-ratio: 1 / 1;
    border-radius: 2px;
    background-color: #BFE8FF;
}

/* スマホで横スクロール */
@media screen and (max-width: 767px) {
    .c_overflow-wrapper {
        width: 440px;
        max-width: none;
    }
    
    *:has(.c_overflow-wrapper) {
        overflow-x: scroll;
    }
    
}
