/*
Theme Name: テンプレート
Author: アルファージール
Version: 1
*/

/*==============================================*/
/*  PC  */
/*==============================================*/
:root {
    --font-size10: clamp(10px, 0.69vw, 12px);
    --font-size11: clamp(11px, 0.76vw, 13px);
    --font-size12: clamp(12px, 0.83vw, 14px);
    --font-size13: clamp(13px, 0.90vw, 15px);
    --font-size14: clamp(13px, 0.97vw, 16px);
    --font-size15: clamp(14px, 1.04vw, 17px);
    --font-size16: clamp(14px, 1.11vw, 18px);
    --font-size17: clamp(15px, 1.18vw, 19px);
    --font-size18: clamp(15px, 1.25vw, 20px);
    --font-size19: clamp(16px, 1.32vw, 21px);
    --font-size20: clamp(16px, 1.39vw, 22px);
    --font-size21: clamp(17px, 1.46vw, 23px);
    --font-size22: clamp(17px, 1.53vw, 24px);
    --font-size23: clamp(18px, 1.59vw, 25px);
    --font-size24: clamp(21px, 1.67vw, 26px);
    --font-size25: clamp(19px, 1.73vw, 27px);
    --font-size26: clamp(19px, 1.80vw, 28px);
    --font-size27: clamp(20px, 1.87vw, 29px);
    --font-size28: clamp(20px, 1.94vw, 30px);
    --font-size29: clamp(21px, 2.01vw, 31px);
    --font-size30: clamp(21px, 2.08vw, 32px);
}

:root {
    --table__layout__01__bg: #666;
    --table__layout__01__border: #999;
    --table__layout__02__bg: #666;
    --table__layout__02__border: #999;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 60px;
}

@media (min-width: 960px) {
    html {
        scroll-padding-top: 210px !important;
    }
}

body {
    font-size: 16px;
    line-height: 1.8;
    font-feature-settings: 'palt' 1;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0.1em;
    min-height: 100vh;
    display: grid;
    align-items: flex-start;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: "noto sans jp", sans-serif;
    color: #333;
}

body.fixed {
    position: fixed;
    left: 0;
    width: 100%;
}

.post_custom_content {
    text-box: trim-both cap alphabetic;
}

@media (min-width: 960px) {

    .post_custom_type03 .post_custom_img,
    .post_custom_type04 .post_custom_img {
        /* padding-top: 15px; */
    }
}

@media (min-width: 960px) {
    .pc_hide {
        display: none !important;
    }
}

@media (min-width: 560px) and (max-width: 959px) {
    .tb_hide {
        display: none !important;
    }
}

@media (max-width: 559px) {
    .sp_hide {
        display: none !important;
    }
}
@media (min-width: 500px) {
    .sp_hide02 {
        display: none !important;
    }
}

img {
    max-width: 100%;
    height: auto;
}

main {
    align-self: stretch;
    container-type: inline-size;
}

a:hover {
    transition: 0.3s;
    opacity: 0.7;
}

.disIB {
    display: inline-block;
}

main p {
    margin-bottom: 1em;
}

main p:last-child {
    margin-bottom: 0em;
}

*:has(> wbr) {
    word-break: keep-all;
    overflow-wrap: anywhere;
}

@media (max-width: 559px) {
    .taL_sp {
        text-align: left;
    }
}

.post_custom_content {
    line-height: 2.25;
}

/*==========================================================================*/
/*==header==*/
/*==========================================================================*/
.header {
    /*
	display: grid;
	grid-template-columns: auto auto;
*/
    display: flex;
    flex-wrap: wrap;
    background: #f3f3f3;
    padding: 0 0 0 0;
    justify-content: space-between;
    position: sticky;
    top: 0 !important;
    z-index: 100;
}

.header__logo {
    display: grid;
    align-items: center;
}

.header__logo img {
    max-height: 100%;
    width: auto;
}

@media (max-width: 959px) {
    .header {
        height: 60px;
        grid-template-columns: 1fr auto;
        grid-gap: 20px;
    }

    .header__logo {
        height: 60px;
    }
}

@media (min-width: 960px) {
    .header {
        height: 165px;
        grid-template-rows: 1fr 60px;
        align-items: center;
    }

    body.front .header {
        height: 125px;
    }

    .header__logo {
        height: 100px;
    }
}

.header__left {
    padding-left: 35px;
}
@media (max-width: 559px){
  .header__left {
    flex-basis: calc(100% - 90px);
  }
}
.header__right {
    display: grid;
    grid-template-columns: auto auto auto;
    line-height: 1.2;
    /*    height: 100%;*/
    align-items: center;
}


/*電話タグ*/
.header__right__tel__title {
    font-weight: bold;
    font-size: 85%;
}

.header__right__tel a {
    font-weight: 900;
    font-size: 150%;
    text-decoration: none;
    color: #000;
    letter-spacing: 0;
}

.header__right__tel__text {
    font-size: 80%;
    letter-spacing: 0;
}

@media (max-width: 959px) {
    .header__right__tel {
        display: none;
    }
}

/*ヘッダーボタン*/
@media (min-width: 960px) {
    .header__right__tel {
        margin-right: 10px;
    }

    .header__right__btn {
        display: grid;
        grid-template-rows: auto auto;
        grid-gap: 5px;
        margin-right: 5px;
    }

    .header__right__btn a {
        background: #3e7084;
        color: #fff;
        display: block;
        text-decoration: none;
        padding: 10px 40px 10px 40px;
        font-size: 14px;
        text-align: center;
        position: relative;
    }

    .header__right__btn a::before {
        content: "";
        position: absolute;
        right: 10px;
        top: 50%;
        width: 30px;
        height: 11px;
        transform: translateY(-50%);
        background: #fff;
        clip-path: polygon(0% 50%, 100% 50%, 50% 10%, 100% 40%)
    }
}

@media (max-width: 959px) {
    .header__right__btn {
        display: none;
    }
}


/*ヘッダーメニュー*/

.header__menu {
    display: grid;
    cursor: pointer;
    width: 70px;
    height: 100%;
    align-items: center;
}

.header__menu:hover {
    opacity: 0.7;
}

.header__menu__box {
    display: grid;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
}

.header__menu__border {
    height: 22px;
    width: 100%;
    width: 39px;
    display: grid;
    align-items: center;
    position: relative;
    justify-content: center;
    grid-row: 2 / 3;
}

.header__menu__border__text {
    grid-row: 3 / 4;
    margin-top: 7px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    font-size: 13px;
}

.header__menu__border span:nth-of-type(1) {
    top: 0;
}

.header__menu__border span:nth-of-type(2) {
    /*   top: 20px; */
    top: 50%;
    transform: translate(0%, -50%);
}

.header__menu__border span:nth-of-type(3) {
    bottom: -1px;
}

.header__menu__border span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: rgb(62, 112, 132);
    border-radius: 4px;
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
}

.header__menu__border_text {
    font-weight: bold;
    font-size: 15px;
    width: 100%;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    -moz-transition-duration: .4s;
    transition-duration: .4s;
    white-space: nowrap;
    display: inline-block;
    padding-top: 36px;
    letter-spacing: 0;
    color: rgba(68, 70, 133, 1);
}

#sidebar_flag:checked .header__menu {
    /*  right: calc(21.5vw + 40px);
  right: calc(24.8vw + 40px); */
    /*  margin-right: 20px;*/
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    -moz-transition-duration: .4s;
    transition-duration: .4s;
    /* top: 120px; */
}

#sidebar_flag:checked .header__menu .header__menu__border span {
    background-color: #fff;
}

#sidebar_flag:checked~.header__menu .header__menu__border span:nth-of-type(1) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: calc(3vw * 0.35)
}

#sidebar_flag:checked .header__menu .header__menu__border span:nth-of-type(2) {
    opacity: 0;
}

#sidebar_flag:checked .header__menu .header__menu__border span:nth-of-type(3) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: calc(3vw * 0.35)
}

#sidebar_flag:checked .header__menu .header__menu__text {
    color: #fff;
}

/*==========================================================================*/
/*==header   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==header nav==*/
/*==========================================================================*/
.header__nav {
    background: #fff;
    /*    height: 100%;*/
    height: 70px;
    filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.1));
    grid-column: 1 / 3;
    flex-basis: 100%;
}

.header__nav>ul {
    display: flex;
    /*    width: 90%; */
    max-width: 1200px;
    margin: auto;
    height: 100%;
}

.header__nav>ul>li {
    flex-basis: calc(100% / 7);
    height: 100%;
    position: relative;
}

.header__nav>ul>li>a {
    color: #666;
    text-decoration: none;
    line-height: 1.4;
    height: 100%;
    width: 100%;
    display: grid;
    align-items: center;
    grid-template-rows: 1fr auto auto 1fr;
    transition: all 0.3s ease;
}

.header__nav .jp,
.header__nav .en {
    display: block;
    text-align: center;
}

.header__nav .jp {
    font-size: 14px;
    grid-row: 2 / 3;
}

.header__nav .en {
    font-size: 0.6em;
    grid-row: 3 / 4;
}

.header__nav>ul>li>a:hover {
    opacity: 1;
    background: #3e7084;
    color: #fff;
}

.header__sub__menu {
    opacity: 0.01;
    visibility: hidden;
    pointer-events: none;
    background: rgb(62, 112, 132, 0.9);
    position: absolute;
    top: 100%;
    width: 80vw;
    left: -50%;
    transform: translate(-50%);
    /* padding: 40px 60px; */
    text-align: left;
    grid-template-columns: 1fr 2fr;
    justify-content: center;
    max-width: 1200px;
}

.header__sub__menu__inner {
    padding: 40px;
}

.header__sub__menu__service {
    background: rgba(0, 0, 0, 0.2);
}

.header__nav li:hover>.header__sub__menu {
    display: grid;
    opacity: 1;
    visibility: visible;
    pointer-events: unset;
    /*    background: #fff; */
}

.header__sub__menu>ul {
    max-width: 1080px;
    margin: 0 auto;
}

.header__sub__menu .header__sub__menu__column2 {
    /* margin-top: 20px; */
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* .header__sub__menu > ul + ul > li:first-child {
    grid-column: 1 / 3;
 } */
.header__sub__menu li {
    padding: 20px 0 20px 30px;
}

.header__sub__menu a {
    color: #fff;
    text-decoration: none;
    padding-left: 20px;
    position: relative;
    display: block;
}

.header__sub__menu a::before,
.header__sub__menu a::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    left: 0;
    top: 50%;
}

.header__sub__menu a::before {
    /* top: 5px; */
    border-bottom: 1px solid #fff;
    margin-top: -11px;
}

.header__sub__menu a::after {
    /* left: 5px; */
    border-right: 1px solid #fff;
    margin-left: -6px;
    margin-top: -5px;
}

/*
.header__sub__menu li:not(:last-child) {
    border-bottom: 1px solid #3e7084;
}
.header__sub__menu a {
    display: grid;
    justify-content: center;
    align-items: center;
    height: 60px;
    text-decoration: none;
    color: #3e7084;
    padding: 5px 10px;
    text-align: center;
    line-height: 1.4;
}
.header__sub__menu a:hover {
    background: #3e7084;
    color: #fff;
    opacity: 1;
}
     */

@media (max-width: 959px) {
    .header__nav {
        display: none;
    }
}

/*==========================================================================*/
/*==header nav    ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==footer loop==*/
/*==========================================================================*/

.footerloop {
    display: flex;
    padding: 50px 0;
    overflow: hidden;
    max-width: 100vw;
}

.footerloop_box {
    display: flex;
    animation: footerloop_anime 95s infinite linear 0.5s both;
    align-items: center;
}

.footerloop .slide {
    width: calc(100vw / 1.5);
}

@keyframes footerloop_anime {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@media (min-width: 560px) and (max-width: 959px) {
    .footerloop .slide {
        width: calc(100vw / 2.5);
    }
}

@media (min-width: 960px) {
    .footerloop .slide {
        width: calc(100vw / 4.5);
    }
}

/*==========================================================================*/
/*==footer loop   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==footer info==*/
/*==========================================================================*/

.footer_info_inner {
    padding: 50px;
    max-width: fit-content;
    margin: auto;
}

.footer_info_title {
    font-size: 37.8px;
    color: #e5e5e5;
    margin-bottom: 20px;
}

.footer_info_subtitle {
    font-size: 21px;
    color: #c1c1c1;
    margin-bottom: 20px;
}

.footer_info_contents {
    margin-bottom: 40px;
    max-width: 100%;
}

.footer_info_img {
    max-width: 100%;
    padding-top: 70%;
    position: relative;
}

.footer_info_img iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

@media (min-width: 960px) {
    .footer_info_inner {
        display: grid;
        align-items: center;
        justify-content: center;
        padding: 50px;
        gap: 0 60px;
        grid-template-columns: 1fr 1fr;
        max-width: fit-content;
        margin: auto;
    }

    .footer_info_title,
    .footer_info_subtitle {
        grid-column: 1 / 3;
        text-align: center;
        max-width: 390px;
    }

    .footer_info_contents {
        margin-bottom: 0;
    }

    .footer_info_img {
        height: 100%;
        width: 450px;
        padding-top: 0;
    }
}

@media (max-width: 959px) and (min-width: 560px) {
    .footer_info_inner {
        width: 100%;
        max-width: unset;
    }

    .footer_info_contents_inner {
        max-width: fit-content;
        margin: auto;
    }

    .footer_info_title {
        max-width: 440px;
        margin: 0 auto 20px;
    }
}

@media (max-width: 559px) {
    .footer_info_inner {
        padding: 50px 3.75%;
        max-width: 100%;
    }
}

.footer_info_contents table {
    margin: 20px 0 10px;
}

.footer_info_contents thead th,
.footer_info_contents thead td {
    color: #3e7084;
    font-weight: 700;
    vertical-align: middle;
    text-align: center;
    padding: 0.2em 0.5em;
    font-weight: normal;
}

.footer_info_contents tbody th,
.footer_info_contents tbody td {
    border: none;
    padding: 0.5em;
    text-align: center;
    vertical-align: top;
    background: #fff;
    border-top: 1px solid #3e7084;
    vertical-align: middle;
}

.footer_info_contents thead th,
.footer_info_contents tbody th {
    width: 13em;
}

.foooter_info_access {
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 1.2em;
}

.foooter_info_access::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 0.8em;
    height: 1em;
    mask: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_mappin.png) 0% 0% / contain no-repeat;
    background: #3e7084;
}

.foooter_info_train {
    position: relative;
    padding-left: 1.2em;
}

.foooter_info_train::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 0.8em;
    height: 1em;
    mask: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_train02.png) 0% 0% / contain no-repeat;
    background: #3e7084;
}

.footer_map {
    position: relative;
    width: 100%;
    height: 640px;
}

.footer_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (min-width: 960px) {
    .footer_map {
        filter: grayscale(100%);
        transition: filter 0.7s ease;
    }

    .footer_map:hover {
        filter: grayscale(0%);
    }
}

.page__top {
    right: 15px;
    bottom: 70px;
    position: fixed;
    z-index: 1000;
    background: rgb(62, 112, 132);
    width: 60px;
    height: 60px;
    border-radius: 100%;
}

.page__top a {
    text-decoration: none;
    display: grid;
    width: 100%;
    height: 100%;
    justify-content: center;
    border-radius: 100%;
    background: rgb(62, 112, 132);
    color: #fff;
    letter-spacing: 0;
    font-size: 11px;
    line-height: 1.2;
    padding: 10px 0 0;
    text-align: center;
}

.page__top .page__top__inner {
    position: relative;
}

.page__top .page__top__inner::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: #fff;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
}

@media (min-width: 960px) {
    .page__top {
        width: 100px;
        height: 100px;
        right: 2%;
        bottom: 3%;
    }

    .page__top a {
        font-size: 18px;
        padding-top: 20px;
    }

    .page__top .page__top__inner::after {
        width: 20px;
        height: 17px;
        bottom: 15px;
    }
}

/*==========================================================================*/
/*==footer info   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==footer==*/
/*==========================================================================*/

.copyright {
    background: rgb(62, 112, 132);
    color: #fff;
    padding: 5px;
    text-align: center;
    display: block;
    font-size: 12px;
}


/*==========================================================================*/
/*==footer   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==sp footer fixed==*/
/*==========================================================================*/

.sp__footer__fixed {
    position: sticky;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 100;
}

.sp__footer__fixed01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.sp__footer__fixed01 a {
    padding: 10px;
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 1.4;
}

.sp__footer__fixed01 a .inner {}

.sp__footer__fixed01 a .title {
    display: block;
}

.sp__footer__fixed01 a .contents {
    display: block;
    font-size: 140%;
}

.sp__footer__fixed01__tel a {
    background: rgba(62, 112, 132, 0.7);
}

.sp__footer__fixed01__mail a {
    background: rgba(62, 112, 132, 1);
}


.sp__footer__fixed02 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.sp__footer__fixed02 a {
    padding: 5px 10px;
    text-align: center;
    display: block;
    color: #fff;
    background: #333;
    font-size: 12px;
    letter-spacing: 0;
    text-decoration: none;
}

.sp__footer__fixed02 .inner {
    display: inline-block;
    padding-top: 20px;
    position: relative;
}

.sp__footer__fixed02 div:nth-child(2n) a {
    background: #444;
}

.sp__footer__fixed02 .inner::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 20px;
    height: 18px;
    top: 0;
    transform: translate(-50%, 0);
    background: 50% 50% / contain no-repeat;
}

.sp__footer__fixed02 .time .inner::after {
    background-image: url("img/common/ico_clock.png");
}

.sp__footer__fixed02 .access .inner::after {
    background-image: url("img/common/ico_access.png");
}

.sp__footer__fixed02 .map .inner::after {
    background-image: url("img/common/ico_map.png");
}

.sp__footer__fixed02 .train .inner::after {
    background-image: url("img/common/ico_train.png");
}

.sp__footer__fixed01 a {
    font-size: 12px;
    letter-spacing: 0.05px;
}

.sp__footer__fixed02 a {
    font-size: 11px;
    padding: 5px 5px;
}


/*==========================================================================*/
/*==sp footer fixed    ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==サイドバー　ハンバーガー ==*/
/*==========================================================================*/

#sidebar__flag~.sidebar_contents .sidebar_contents_box {
    -webkit-transform: translateX(101vw);
    -ms-transform: translateX(101vw);
    -moz-transform: translateX(101vw);
    -o-transform: translateX(101vw);
    transform: translateX(101vw);
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    -moz-transition-duration: .4s;
    transition-duration: .4s;
}

#sidebar__flag:checked~.sidebar_contents .sidebar_contents_box {
    -webkit-transform: translateX(0vw);
    -ms-transform: translateX(0vw);
    -moz-transform: translateX(0vw);
    -o-transform: translateX(0vw);
    transform: translateX(0vw);
}

.sidebar_contents {
    position: fixed;
    left: 0;
    top: 0;
    height: 0;
    width: 100%;
    z-index: 110;
}

.sidebar_contents_box {
    position: relative;
}

.sidebar_contents_box_inner {
    height: 100vh;
    width: 100%;
    z-index: 10;
    background: rgba(62, 112, 132, 0.95);
    padding: 90px 20px 20px;
    overflow-y: auto;
    gap: 0 2vw;
    color: #fff;
}

.sidebar_menu_close {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 100px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
}

@media (max-width: 559px) {
    .sidebar_contents_box_inner {
        padding-top: 50px;
        padding-bottom: 40px;
    }

    .sidebar_menu_close {
        top: 20px;
        width: 40px;
        height: 40px;
    }
}

.sidebar_menu_close:hover {
    opacity: 0.7;
}

.sidebar_menu_close>span {
    border-top: 3px solid #fff;
    width: 100%;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
}

.sidebar_menu_close>span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sidebar_menu_close>span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/*==========================================================================*/
/*==サイドバー　ハンバーガー   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==サイドバー ==*/
/*==========================================================================*/

.sidebar__content {}

.sidebar__content__menu+.sidebar__content__menu {
    margin-top: 40px;
}

.sidebar__content__menu__title {
    background: #3a4247;
    color: #fff;
    padding-top: 11px;
    padding-bottom: 12px;
    text-align: center;
}

.sidebar__content ul>li a {
    position: relative;
    text-decoration: none;
    display: block;
    padding: 10px .5em 8px 40px;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    color: #464646;
}

.sidebar__content ul>li a::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 18px;
    color: #d1d1d1;
    transform: translateY(-50%);
    text-align: center;
    font-size: 14px;
    line-height: 1;
    font-family: "メイリオ", Meiryo, sans-serif;
    content: "+";
}

.sidebar_contents_header_contacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    margin-bottom: 40px
}

.sidebar_contents_header_contacts a {
    background: #fff;
    color: rgba(62, 112, 132, 1);
    border-radius: 5px;
    text-decoration: none;
    height: 100%;
    display: grid;
    align-items: center;
    padding: 0;
    line-height: 1.2;
    font-size: 18px;
    text-align: center;
}

.sidebar_contents_header_contact_inner {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 40px;
    display: inline-block;
    max-width: fit-content;
    margin: auto;
    position: relative;
}

.sidebar_contents_header_contact_inner::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 35px;
    background: rgba(62, 112, 132, 1);
    height: 100%;
}

.sidebar_contents_header_contact_tel .sidebar_contents_header_contact_inner::before {
    mask: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_phone_white.png) 50% 50% / 60% auto no-repeat
}

.sidebar_contents_header_contact_mail .sidebar_contents_header_contact_inner::before {
    mask: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_calender_white.png) 50% 50% / 80% auto no-repeat;
}

.sidebar_contents_header_contact_sub {
    font-size: 70%;
}

@media (max-width: 959px) and (min-width: 560px) {
    .sidebar_contents_header_contacts {
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (max-width: 559px) {
  .sidebar__content__link > li:nth-last-child(1),
  .sidebar__content__link > li:nth-last-child(2),
  .sidebar__content__link > li:nth-last-child(3),
  .sidebar__content__link > li:nth-last-child(4) {
    display: inline-block;
    width: 49%;
  }
}

@media (max-width: 499px) {
    .sidebar_contents_header_contacts a {
        font-size: 16px;
    }
}

@media (max-width: 459px) {
    .sidebar_contents_header_contacts {
        /*
        grid-template-rows: 1fr 1fr;
        grid-template-columns: unset;
        */
        letter-spacing: 0;
    }
}

@media (max-width: 400px) {
    .sidebar_contents_header_contact_inner {
        text-align: left;
    }

    .sidebar_contents_header_contact_sub {
        font-size: 100%;
    }

    .sidebar_contents_header_contact_num {
        display: none;
    }

}

/*==========================================================================*/
/*==サイドバー   ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　1カラム設定==*/
/*==========================================================================*/

.post_box_bg>.inner {
    max-width: 1320px;
    margin: auto;
    padding: 0 40px;
}

@media (max-width: 959px) {
    .post_box_bg>.inner {
        padding-left: 5%;
        padding-right: 5%;
    }
}

/*==========================================================================*/
/*==固定ページ  1カラム設定 ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　2カラム設定==*/
/*==========================================================================*/


.page>.inner,
.single__page>.inner,
.category>.inner {
    max-width: 1320px;
    margin: auto;
    padding: 0 40px;
}

.page__2column .main__content .post_box_bg>.inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 959px) {
    .page__2column {
        margin-bottom: 40px;
    }

    .sidebar__content {
        margin-top: 50px;
    }

    .page>.inner,
    .single__page>.inner,
    .category>.inner {
        padding-left: 3.75%;
        padding-right: 3.75%;
    }
}

@media (min-width: 960px) {
    .page__2column {
        max-width: 1320px;
        padding: 0 40px;
        margin: 0 auto 60px;
        display: grid;
        grid-template-columns: 67.19% 23.86%;
        justify-content: space-between;
    }

}

/*==========================================================================*/
/*==固定ページ  2カラム設定 ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　hタグ==*/
/*==========================================================================*/
.page,
.single__page,
.category {
    padding-top: 40px;
    padding-bottom: 40px;
}

.page h2,
.single__page h2,
.category h2 {
    text-align: center;
    color: #233b68;
    font-size: 1.5em;
    padding-top: 10px;
    padding-bottom: 0px;
    margin-bottom: 40px;
    line-height: 1.4;
}

.page h2 .sub_title,
.single__page h2 .sub_title,
.category h2 .sub_title {
    font-size: 60%;
    display: block;
    text-align: center;
    color: rgb(62, 112, 132);
    padding-bottom: 0.5em;
}

@media (min-width: 960px) {

    .page h2,
    .single__page h2,
    .category h2 {
        font-size: 28px;
        margin-bottom: 80px;
    }
}

.page h3,
.single__page h3,
.category h3 {
    text-align: left;
    line-height: 1.4;
    color: rgb(62, 112, 132);
    text-shadow: none;
    background: transparent;
    outline: none;
    padding: 0px;
    margin: 0px;
    padding-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.page h3 .sub_title,
.single__page h3 .sub_title,
.category h3 .sub_title {
    font-size: 60%;
    display: block;
}

@media (min-width: 960px) {

    .page h3,
    .single__page h3,
    .category h3 {
        font-size: 22px;
    }
}

.page h4,
.single__page h4,
.category h4 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

/*==========================================================================*/
/*==固定ページ  hタグ ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　キービジュアル==*/
/*==========================================================================*/

.keyvisual {
    position: relative;
    margin-bottom: 40px;
    height: 300px;
    height: 0;
}

.keyvisual_title {
    display: none;
    position: absolute;
    mix-blend-mode: difference;
    color: #fff;
    font-size: 40px;
    top: 50%;
    left: 50%;
    margin-left: -480px;
    transform: translateY(-50%);
}

.keyvisual_img {
    display: none;
    height: 100%;
    width: 100%;
}

.keyvisual img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

@media (max-width: 559px) {
    .keyvisual {
        height: 0;
        margin-bottom: 0;
    }
}

/*==========================================================================*/
/*==固定ページ  キービジュアル ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==カテゴリー==*/
/*==========================================================================*/

.category {
    padding-bottom: 60px
}

.category__list {
    max-width: 900px;
    margin: auto;
}

.category__list li,
.top_blog_list li {
    padding: 5px 0;
    border-bottom: 1px solid #000;
}

.category__list li a,
.top_blog_list li a {
    display: block;
    text-decoration: none;
    color: #000;
    padding: 10px;
}

.post_date {
    padding-right: 0.5em;
    display: inline-block;
}

.category__link-wrapper {
    text-align: right;
    margin-top: 20px;
}

.category__readmore {
    color: #233b68;
    text-decoration: none;
}

.pagination {
    margin-top: 20px;
    display: flex;
    gap: 0 20px;
    justify-content: center;
}

.pagination>a {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 15px;
    border: 1px solid #000;
    text-decoration: none;
}

.pagination>span {
    background: #fff;
    color: #000;
    padding: 15px;
    border: 1px solid #000;
}

@media (max-width: 959px) {
    .pagination {
        position: relative;
        padding-bottom: 70px;
    }

    .pagination .prev,
    .pagination .next {
        position: absolute;
        bottom: 0;
    }

    .pagination .prev {
        left: 0;
    }

    .pagination .next {
        right: 0;
    }
}

@media (max-width: 559px) {

    .category__list li a,
    .top_blog_list li a {
        line-height: 1.5;
    }

    .category__list li a .post_date,
    .top_blog_list li a .post_date {
        display: block;
    }
}

/*==========================================================================*/
/*==カテゴリー  ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==アクセスマップ==*/
/*==========================================================================*/

.access_changemap_wrap {
    background: #333;

}

.access_changemap_contents {
    padding: 15px;
}

.access_changemap_labels {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.access_changemap_labels>label {
    background: #EFEFEF;
    padding: 10px;
    text-align: center;
}

.access_changemap_labels>label>span {
    display: inline-block;
    position: relative;
    padding: 0 22px 0 0;
}

.access_changemap_labels>label>span::after {
    content: "";
    position: absolute;
    right: 0;
    width: 15px;
    height: 11px;
    clip-path: polygon(0% 0%, 100% 0, 50% 100%);
    background: #333;
    transform: translateY(-50%);
    top: 50%;
}

.access_changemap_contents .access_changemap_content {
    display: none;
}

#change_googlemap:checked~.access_changemap_labels label[for="change_googlemap"],
#change_illustmap:checked~.access_changemap_labels label[for="change_illustmap"] {
    background: #333;
    color: #fff;
}

#change_googlemap:checked~.access_changemap_labels label[for="change_googlemap"]>span::after,
#change_illustmap:checked~.access_changemap_labels label[for="change_illustmap"]>span::after {
    background: #fff;
}

#change_googlemap:checked~.access_changemap_contents .access_changemap_content:nth-child(1),
#change_illustmap:checked~.access_changemap_contents .access_changemap_content:nth-child(2) {
    display: block;
}

.access_changemap_content {
    position: relative;
    height: 500px;
    width: 100%;
}

.access_changemap_content iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.route__slide__wrap {
    margin-top: -60px;
    padding: 60px;
    position: relative;
}

.route__slide {}

/* ページネーション共通のスタイル */
.route__slide__wrap .swiper-pagination-bullet {
    background-color: #333;
    color: #fff;
    font-size: 16px;
    height: 30px;
    line-height: 28px;
    transition: transform .2s linear;
    width: 30px;
    letter-spacing: 0;
    border-radius: 0;
}

/* 現在のページネーションのスタイル */
.route__slide__wrap .swiper-pagination-bullet-active {
    background-color: #333;
    color: #fff;
}

/* ページネーションの余白(位置) */
.route__slide__wrap .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.route__slide__wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0px 10px 0;
    position: relative;
}

/* 画像のサイズ調整 */
.route__slide .swiper-slide img {
    height: auto;
    width: 100%;
}

.route__slide__wrap .swiper-button-next,
.route__slide__wrap .swiper-button-prev {
    width: 20px;
    height: 20px;
    color: #000;
}

/*==========================================================================*/
/*==アクセスマップ ここまで==*/
/*==========================================================================*/

/*===================================================
歯科医師出勤予定のポップアップ
===================================================*/

.modalArea {
    display: none;
    position: fixed;
    z-index: 5000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modalBg {
    width: 100%;
    height: 100%;
    background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    max-width: 500px;
    padding: 10px 30px;
    background-color: #fff;
    max-height: 100vh;
}

.modalWrapper.large {
    max-width: unset;
}

.modalWrapper h1 {
    font-size: 120%;
    font-weight: bold;
}

.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
}

@media (max-width: 959px) {
    .modalWrapper {
        overflow: scroll;
    }
}


.contactForm_box {
    max-width: fit-content;
    margin: auto;
}

.input-box {
    margin-bottom: 30px;
}

.input-box .error-message {


    display: none;
    color: #f00;
    font-size: 90%;
}

.input-box .wpcf7-not-valid-tip {
    display: none;
}

.input-box:has(.wpcf7-not-valid-tip) .error-message {
    display: block;
}

.input-wrappr {
    position: relative;
    width: 100%;
    max-width: 400px;
    border: 1px solid #c8ccd4;
}

.input-wrappr input {
    -webkit-appearance: none;
    width: 100%;
    border: 0;
    font-family: inherit;
    padding: 0.5em;
    height: 2.5em;
    font-size: 16px;
    font-weight: 500;
    background: none;
    border-radius: 0;
    transition: all 0.15s ease;
}

.input-wrappr input:checkbox {}

.input-wrappr .input-name {
    position: absolute;
    inset: 0.3em auto auto 1em;
    transform-origin: 0 0;
    transition: all 0.2s ease;
}

.input-wrappr:has(textarea) .input-name,
.input-wrappr:has(select) .input-name,
.input-wrappr:has(input:focus) .input-name,
.input-wrappr:has(input:hover) .input-name,
.input-wrappr:has(input:not(:placeholder-shown)) .input-name {
    font-size: .8em;
    /*    inset -1em; auto auto 1em;*/
    inset: -1em auto auto 1em;
    background: #fff;
    padding: 0 .5em;
}

.input-wrappr select {
    border: 0;
    padding: 15px 0.2em 10px 0.2em;
    width: 100%;
}

.input-wrappr textarea {
    border: 0;
    padding: 15px 0.2em 10px 0.5em;
    width: 100%;
    height: 200px;
}

/*
.input-wrappr:has(input:focus) .input-name {
  color: #07f;
  transform: translateY(-26px) scale(0.75);
}
*/

.contactForm_box_btn {
    text-align: center;
}

.contactForm_box_btn input {
    -webkit-appearance: none;
    padding: 15px 20px;
    background: #333;
    border: 0;
    color: #fff;
    min-width: 200px;
    border-radius: 30px;
    font-size: 18px;
    cursor: pointer;
}

.contactForm_box_btn input:hover {
    opacity: 0.7;
}

.contactForm_box_btn .remove_btn {
    border: 1px solid #333;
    background: #fff;
    color: #333;
    margin-top: 40px;
}

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

.contactForm_box table th,
.contactForm_box table td {
    padding: 0.8em 1em;
    text-align: left;
}

.contactForm_box table tr:nth-child(2n+1) th,
.contactForm_box table tr:nth-child(2n+1) td {
    background: #eee;
}

.contactForm_box .wpcf7-spinner {
    position: absolute;
}

.service__list__wrap {
    max-width: fit-content;
    margin: 0 auto 20px;
}

.service__list__perio {
    max-width: 1200px;
    margin: auto;
    background: #dce4e8;
}

.service__list__perio a {
    display: grid;
    grid-template-columns: 120px auto;
    grid-gap: 20px;
    align-items: center;
    text-decoration: none;
    color: #3e7084;
    line-height: 1.4;
    font-size: 120%;
    max-width: 1200px;
    margin: 0 auto 0;
    border: 1px solid #3e7084;
    padding: 20px 40px 20px 20px;
    background: #fff;
    justify-content: center;
    border: 2px solid #dce4e8;
    border-bottom: 0;
    position: relative;
}

.service__list__perio a::after {
    content: "";
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 10px;
    height: 10px;
    clip-path: polygon(100% 0, 100% 100%, 0% 100%);
    background: rgba(228, 58, 58, 0.5);
}

/*
.service__list__perio a {
  max-width: fit-content;
	margin: 0 auto 40px;
}
*/

.service__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 800px;
    margin: 0 auto 20px;
    text-align: center;
    grid-gap: 1px;
    background: #dce4e8;
    border: 1px solid #dce4e8;
    ;
}

.service__list__perio .service__list__img {
    width: 80px;
    height: 80px;
}

.service__list li {
    display: contents;
}

.service__list a {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    padding: 10px 20px 20px;
    background: #fff;
    text-decoration: none;
    color: #000;
    line-height: 1.4;
    position: relative;
}

.service__list a::after {
    content: "";
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 10px;
    height: 10px;
    clip-path: polygon(100% 0, 100% 100%, 0% 100%);
    background: rgba(62, 112, 132, 0.5);
}

.service__list a .service__list__img {
    align-self: center;
    width: 80px;
    height: 80px;
    margin: auto;
}

.service__list a .service__list__title {
    align-self: center;
}

@media (min-width: 960px) {
    .service__list {
        max-width: 1200px;
        display: flex;
        flex-wrap: wrap;
        gap: 0;
    }

    .service__list a {
        height: 200px;
        width: 100%;
    }

    .service__list li {
        display: unset;
        flex-basis: 20%;
        flex-grow: 1;
        border: 1px solid #dce4e8;
    }

    .service__list__perio .service__list__img,
    .service__list a .service__list__img {
        /*        width: 150px;*/
        width: 100px;
        height: 100px;
    }
}
@media (max-width: 400px) {
  .service__list a {
    padding: 10px 10px 20px;
  }
}

.footer__bnr {
    /* width: calc(540px * 6); */
    display: flex;
    overflow: hidden;
    margin: 30px auto 40px;
    width: 100%;
    /*    gap: 20px; */
}

.footer__bnr__list {
    display: flex;
    height: 100%;
    gap: 20px;
    padding: 0 20px 0 0;
}

.footer__bnr__list li {
    height: 100px;
    gap: 20px;
}

.footer__bnr__list li img {
    height: 100%;
    width: auto;
    max-width: unset;
}

.footer__bnr__list:first-child {
    animation: footer_loop 60s -30s linear infinite;
}

.footer__bnr__list:nth-child(2) {
    animation: footer_loop2 60s linear infinite;
}

@keyframes footer_loop {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes footer_loop2 {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}



.treatment-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #dce4e8;
    padding: 33px 0;
}

@media screen and (max-width: 959px) {
    .treatment-block {
        grid-template-columns: unset;
        grid-template-rows: auto auto;
        gap: 80px;
    }
}

@media screen and (max-width: 559px) {
    .treatment-block {
        padding: 30px 20px;
    }
}

.treatment-block__item {
    border-right: 1px solid #dce4e8;
    padding: 0 41px;
    letter-spacing: 1px;
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
}

@media screen and (max-width: 959px) {
    .treatment-block__item {
        gap: 20px 0;
    }
}

@media screen and (max-width: 559px) {
    .treatment-block__item {
        padding: 0;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #dce4e8;
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .treatment-block__item:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

.treatment-block__item:nth-child(2) {
    border-right: none;
}

@media screen and (max-width: 559px) {
    .treatment-block__item:nth-child(2) {
        border-bottom: none;
    }
}

.treatment-block__item:before {
    content: "";
    width: 40px;
    height: 5px;
    background: #3e7084;
    position: absolute;
    top: -33px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.treatment-block__ttl {
    display: block;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: 500;
    margin-bottom: 21px;
}

@media screen and (max-width: 959px) {
    .treatment-block__ttl {
        font-size: 2.2rem;
    }
}

.treatment-block__ttl .c-fc--gray span {
    position: relative;
}

.treatment-block__ttl .c-fc--gray span:before {
    content: ".";
    position: absolute;
    bottom: calc(100% - 6px);
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.treatment-block p {
    margin-bottom: 29px;
}

.treatment-block__box {
    background: #fafafa;
    padding: 34px 30px;
}

@media screen and (max-width: 959px) {
    .treatment-block__box {
        padding: 20px;
    }
}

.treatment-block__box-ttl {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 1.5px;
    margin-bottom: 14px;
}

@media screen and (max-width: 959px) {
    .treatment-block__box-ttl {
        font-size: 1.6rem;
        line-height: 1.4375;
    }
}

/*===================================================================
流れ
===================================================================*/
.flow_list {
    counter-reset: flownum;
}

.flow_list li {
    padding-left: 80px;
    position: relative;
    counter-increment: flownum;
    padding-bottom: 40px;
}

.flow_list li::before {
    content: "";
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #3e7084;
    left: 0;
    top: 0;
}

.flow_list li::after {
    content: "FLOW\A" counter(flownum);
    white-space: pre;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0%, 50%);
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0;
    z-index: 1;
    width: 60px;
}

.flow_list_title {
    color: #3e7084;
    border-bottom: 1px solid #3e7084;
    margin-bottom: 10px;
}

/*===================================================================
料金表
===================================================================*/
.price-list dl {
    display: grid;
    grid-template-columns: auto 1fr;
    margin-bottom: 20px;
}

.price-list dl+.price-list-note {
    margin-top: -20px;
    margin-bottom: 20px;
    font-size: 90%;
}

.price-list dt {
    color: #3e7084;
}

.price-list dd {
    display: grid;
    grid-template-columns: 1fr auto;
}

.price-list dd .dot {
    position: relative;
}

.price-list dd .dot::before {
    content: "";
    position: absolute;
    border-bottom: 4px dotted #bdbdbd;
    height: 5px;
    left: 20px;
    right: 20px;
    top: 0.4em;
}

.price-list dd .price {
    white-space: nowrap;
}

@media (max-width: 559px) {
    .price-list dl {
        grid-template-columns: unset;
        grid-template-rows: auto auto;
    }

    .price-list dd .dot::before {
        left: 0;
    }
}

/*===================================================================
タブの設定
===================================================================*/
.tab_wrap {
    margin: 2% auto;
    overflow: hidden;
}

.tab_list {
    display: flex;
    flex-wrap: wrap;
    top: 80px;
    z-index: 5;
    background: #f4f5f7;
    /*  padding-top: 20px;*/
    margin-bottom: 20px;
}

.tab_item {
    /*  border-radius: 5px 5px 0 0;*/
    background-color: #e5e5e5;
    border: solid 1px #f4f5f7;
    border-top: 0;
    padding: 1em 1.2em;
    cursor: pointer;
    text-align: center;
    font-weight: 400;
}

.tab_item {
    flex-grow: 1;
    font-size: 14px;
}

.tab_item:hover {
    opacity: 0.8;
}

.tab_item+.tab_item {
    border-left-color: transparent;
}

.tab_item>span {
    display: inline-block;
    padding: 2em 0 0 0;
    position: relative;
}

.tab_item>span::before,
.tab_item>span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0%;
    translate: -50% 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

.tab_item>span::before {
    background: #fff;
}

.tab_item>span::after {
    background: rgb(35, 59, 104);
    scale: 0.5;
    opacity: 0;
}

.tab_item.active>span::after {
    opacity: 1;
}

@media (width >=960px) {
    .tab_item>span {
        padding: 0 0 0 2em;
    }

    .tab_item>span::before,
    .tab_item>span::after {
        left: 0;
        top: 50%;
        translate: 0 -50%;
    }
}

.tab_contents {
    /*  background-color: #f5f5f5;*/
    background: #fff;
    /*  margin-top: -400px;*/
}

.tab_panel {
    display: none;
    background: #f2f2f2;
}

.tab_item.active {
    background-color: rgba(124, 172, 171, 0.61);
    background-color: rgba(42, 55, 55, 0.61);
    background: rgb(172, 172, 172);
    color: #fff;
    border-color: transparent;
}

.tab_panel.active {
    display: block;
    padding: 5%;
}

@media (width < 560px) {
    .tab_wrap {
        position: relative;
    }
    .tab_list {
        flex-wrap: nowrap;
        overflow: scroll;
/*        margin-bottom: 40px;*/
        position: relative;
        top: 0;
    }
/*
    .tab_wrap::before {
      content: "";
      position: absolute;
      left: 10px;
      top: 94px;
      height: 25px;
      right: 10px;
      background: url(https://dca-yoyogi.jp/wp-content/uploads/2025/07/ico_arrow_left.png) 0  50% / 20px auto no-repeat,        url(https://dca-yoyogi.jp/wp-content/uploads/2025/07/ico_arrow_right.png) 100% 50%  / 20px auto no-repeat;
      z-index: 1;
    }
*/
/*
    .tab_wrap::after {
      content: "";
      left: 30px;
      right: 30px;
      height: 25px;
      border-bottom: 5px dotted #4b4b4b;
      position: absolute;
      top: 79px;
    }
*/

    .tab_list>li {
        flex-grow: 1;
        white-space: nowrap;
    }

    .tab_list>li:nth-child(n+4) {
        border-top: 1px solid #fff;
    }
}



.payment-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -20px;
}

.payment-list__item {
    width: 33.333%;
    padding: 0 20px;
    position: relative;
}

.payment-list h3 {
    text-align: center;
}

@media screen and (max-width: 834px) {
    .payment-list__item {
        width: 100%;
        margin-bottom: 30px;
    }

    .payment-list__item:last-child {
        margin-bottom: 0;
    }
}

.payment-list .c-txt__note {
    width: 100%;
}

@media screen and (max-width: 959px) {
    .payment-list .c-txt__note {
        padding: 0 20px;
    }
}

.payment-list__box {
    border: 1px solid #e6ecee;
    text-align: center;
    position: relative;
    height: 100%;
    letter-spacing: 1px;
    padding: 37px 20px 20px;
}

@media screen and (max-width: 959px) {
    .payment-list__box {
        padding: 29px 20px 20px;
        letter-spacing: 0;
    }
}

.payment-list__box>* {
    position: relative;
    z-index: 2;
}

.payment-list__box:after,
.payment-list__box:before {
    content: "";
    position: absolute;
    top: -1px;
    bottom: -1px;
    width: 20%;
    background: #fff;
}

.payment-list__box:before {
    left: 15%;
}

.payment-list__box:after {
    left: 65%;
}

.payment-list__box-icon {
    width: 40px;
    margin: 0 auto 10px;
    position: static;
}

@media screen and (max-width: 959px) {
    .payment-list__box-icon {
        width: 30px;
    }
}

.payment-list__box-icon:before {
    content: "";
    height: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -1px;
    right: -1px;
    background: #fff;
}

.payment-list__box-icon img {
    position: relative;
    z-index: 1;
}

.payment-list__box-ttl {
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 10px;
}

.payment-list__box p {
    margin-bottom: 15px;
}

@media screen and (max-width: 959px) {
    .payment-list__box p {
        margin-bottom: 7px;
    }
}

.payment-list__box p:last-child {
    margin-bottom: 0;
}

.c-txt__note {
    font-size: 80%;
    color: #b78a4d;
}

.googlemap_container {
    position: relative;
    padding-top: 400px;
    width: 100%;
}

.googlemap_container iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.youtube_container {
    position: relative;
    padding-top: 56.25%;
    width: 100%;
}

.youtube_container iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.price-thumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.price-thumb-left {
    flex-basis: 25%;
}

.price-thumb-right {
    flex-basis: 70%;
}

.price-thumb-left-feature {
    margin-top: 15px;
}

.price-thumb-left-feature strong {
    font-weight: bold;
    color: rgb(59, 74, 80);
}

.price-thumb-right-merit {
    border: 1px solid #f19086;
    padding: 20px;
    margin-bottom: 20px;
}

.price-thumb-right-demerit {
    border: 1px solid #6e92a1;
    padding: 20px;
    margin-bottom: 20px;
}

.price-thumb-right-merit-title {
    color: #ffffff;
    background-color: #f19086;
    padding: 10px 15px;
    display: inline-block;
    margin: 0 0 -5px -20px;
    position: relative;
    top: -20px;
}

.price-thumb-right-demerit-title {
    color: #ffffff;
    background-color: #6e92a1;
    padding: 10px 15px;
    display: inline-block;
    margin: 0 0 -5px -20px;
    position: relative;
    top: -20px;
}

.price-thumb-right-merit ul,
.price-thumb-right-demerit ul {
    padding-left: 20px;
}

.price-thumb-right-merit ul li,
.price-thumb-right-demerit ul li {
    position: relative;
    list-style: disc;
    font-weight: bold;
}

@media (max-width: 559px) {
    .price-thumb {
        display: block;
    }

    .price-thumb-left {
        margin: 0 auto 20px;
        max-width: fit-content;
    }
}

.list-dot {
    padding-left: 20px;
}

.list-dot>li {
    list-style-type: disc;
    margin-bottom: 20px;
}

strong {
    font-weight: bold !important;
}

.tel_box a {
    color: #000;
    display: inline-block;
    text-decoration: none;
    position: relative;
    padding-left: 30px;
    font-size: 29px;
    /* font-weight: bold; */
    rotate: 0.03deg;
    letter-spacing: 0;
    line-height: 1.2;
}

.tel_box a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: 100%;
    background: url(https://dca-yoyogi.jp/wp-content/uploads/2025/05/ico_tel_blue.png) 0% 0% / contain no-repeat;
}

.bnr-contact {
    padding: 100px 0;
}
.bnr-contact.lazyloaded {
    background: url(https://dca-yoyogi.jp/wp-content/uploads/2025/05/contact-bg.jpg) no-repeat;
    background-size: cover;
    color: #fff;
}

.bnr-contact_inner {
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
    color: #fff;
    text-align: center;
}

.bnr-contact h2 {
    text-align: center;
    color: #fff !important;
    font-size: 1.5em;
    padding-top: 10px;
    padding-bottom: 0px;
    margin-bottom: 20px;
    line-height: 1.4;
}

.bnr-contact h2 .sub_title,
body.front .bnr-contact h2 .sub_title {
    font-size: 60%;
    display: block;
    text-align: center;
    color: #fff;
    padding-bottom: 0.5em;
}

.bnr-contact-tel {
    margin-bottom: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: Jost, sans-serif;
    font-size: 1.8em;
    font-weight: 500;
    letter-spacing: 1px;
}

.bnr-contact-tel a {
    color: #fff;
    text-decoration: none;
    position: relative;
    padding-left: 35px;
}

.bnr-contact-tel a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: 100%;
    background: #fff;
    mask: url(https://dca-yoyogi.jp/wp-content/uploads/2025/05/ico_tel_blue.png) 0 50% / contain no-repeat;
}

.bnr-contact-mail {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 334px;
    height: 80px;
    margin: 0 auto;
    border: 1px solid #fff;
    font-size: 1em;
    letter-spacing: 1px;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
}

.bnr-contact-mail:hover {
    background: #fff;
    color: #3e7084;
    opacity: 1;
}

@media (min-width: 960px) {
    .bnr-contact h2 {
        font-size: 28px;
    }
}

.btn01 {
    margin-bottom: 20px;
}

.btn01 a {
    display: block;
    text-decoration: none;
    border: 1px solid rgb(62, 112, 132);
    padding: 10px;
    text-align: center;
    max-width: 200px;
    margin: auto;
    color: rgb(62, 112, 132);
}

.btn02 {
    text-align: right;
}

.btn02 a {
    color: #3e7084;
    padding: 14px 60px 14px 0;
    position: relative;
    display: inline-block;
    line-height: 1;
    text-decoration: none;
}

.btn02 a::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    width: 40px;
    height: 40px;
    background: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_arrow_white.png) 50% 50% / 50% auto no-repeat, #3e7084;
    border-radius: 50%;
}

.sidebar_contents_nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: fit-content;
    margin: auto;
    gap: 60px
}

.sidebar_contents_header_logo {
    max-width: 300px;
    margin: 0 auto 40px;
    height: 100px;
    background: #fff;
    mask: url(https://dca-yoyogi.jp/wp-content/uploads/2025/05/logo_aoki.svg) 50% 50% / contain no-repeat;
}
.sidebar_contents_header_logo a {
  display: block;
  height: 100px;
}
@media (max-width: 559px){
  .sidebar_contents_header_logo a {
    height: 100px;
    margin-top: 20px;
  }
}
.sidebar_contents_header_logo:hover {
  opacity: 0.7;
}

.sidebar_contents_nav_title {
    font-size: 24px;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.sidebar_contents_nav ul {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 0 20px;
}

.sidebar_contents_nav li {}

.sidebar_contents_nav a {
    color: #fff;
    text-decoration: none;
    padding: 10px 10px 10px 25px;
    display: block;
    position: relative;
}

.sidebar_contents_nav a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(0, -50%) rotate(45deg);
}

@media (max-width: 959px) {
    .sidebar_contents_nav ul {
        grid-template-columns: auto;
    }

    .sidebar_contents_header_logo {
        margin: 0 auto;
    }
}

@media (max-width: 559px) {
    .sidebar_contents_nav {
        max-width: unset;
        gap: 0;
        margin: 0 -20px;
        width: 100vw;
        display: block;
    }

    .sidebar_contents_nav_title_sp {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 0;
    }

    .sidebar_contents_nav_title {}

    .sidebar_contents_nav_inner {
        display: none;
    }

    .sidebar_contents_nav_inner.action {
        display: block;
    }

    .sidebar_contents_nav_inner {
        padding: 20px;
    }

    .sidebar_contents_nav li {
        border-bottom: 1px solid #fff;
    }

    .sidebar_contents_nav_title {
        border-bottom: 0;
        text-align: center;
        font-size: 120%;
        margin: 0;
        padding: 20px 0;
        clip-path: polygon(8% 0, 92% 0, 100% 100%, 0% 100%);
    }

    .sidebar_contents_nav_inner01 {
        background: #233b68;
    }

    .sidebar_contents_nav_title01 {
        background: #233b68;
    }

    .sidebar_contents_nav_inner02 {
        background: #2b5a7d;
    }

    .sidebar_contents_nav_title02 {
        background: #2b5a7d;
    }

}

@media (max-width: 370px) {
    .sidebar_contents_nav_title {
        font-size: 100%;
    }
}

.sidebar_contents_header_title {
    text-align: center;
    font-size: 200%;
    letter-spacing: 0;
}

.sidebar_contents_btns>ul {
    display: flex;
    text-align: center;
    justify-content: center;
    grid-gap: 20px;
    margin: 0 auto 60px;
    flex-wrap: wrap;
}

.sidebar_contents_btns>ul>li {
    flex-basis: 200px;
}

.sidebar_contents_btns>ul>li>a {
    display: grid;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    padding: 10px 20px;
    height: 100%;
    align-items: center;
    line-height: 1.4;
    min-height: 70px;
}

.sidebar_contents_btns>ul>li:nth-child(1)>a {
    background: #1f3a61;
}

.sidebar_contents_btns>ul>li:nth-child(2)>a {
    background: #2b5a7d;
}

.sidebar_contents_btns>ul>li:nth-child(3)>a {
    background: #3c7faf;
}

.sidebar_contents_btns>ul>li:nth-child(4)>a {
    background: #f47b1f;
}

.sidebar_contents_btns>ul>li:nth-child(5)>a {
    background: #8ad9e0;
}

.sidebar_contents_btns>ul>li:nth-child(6)>a {
    background: #f1d35b;
}

@media (max-width: 559px) {
    .sidebar_contents_btns>ul>li {
        flex-basis: calc(50% - 10px);
    }

}

.sidebar_contents_table {
    max-width: fit-content;
    margin: 0 auto 40px;
    padding: 40px 0;
}

.sidebar_contents_table table {
    width: 100%;
}

.sidebar_contants_info {
    max-width: 800px;
    margin: 40px auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 40px;
}

.sidebar_contants_info_time table {
    width: 100%;
}

.sidebar_contants_info_time table th,
.sidebar_contants_info_time table td {
    padding: 10px 5px;
    vertical-align: middle;
}

.sidebar_contants_info_time table tbody th,
.sidebar_contants_info_time table tbody td {
    border-top: 1px solid #fff;
}

.sidebar_contants_info_time_notice {
    font-size: 80%;
}


.sidebar_contants_info_contact_tel {
    font-size: 150%;
    /* letter-spacing: 0; */
}

.sidebar_contants_info_contact_yoyaku a {
    /* padding: 10px 10px 10px 10px; */
    display: block;
    background: #fff;
    color: #3e7084;
    text-decoration: none;
    border-radius: 3px;
}

.sidebar_contants_info_contact_tel_inner,
.sidebar_contants_info_contact_yoyaku_inner {
    position: relative;
    padding-left: 50px;
    display: inline-block;
    line-height: 1.1;
}

.sidebar_contants_info_contact_yoyaku_inner {
    padding: 20px 10px 20px 50px;
}

.sidebar_contants_info_contact_tel_inner::before,
.sidebar_contants_info_contact_yoyaku_inner::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 35px;
    height: 100%;
}

.sidebar_contants_info_contact_tel_inner::before {
    background: #fff;
    mask: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_phone_white.png) 50% 50% / 60% auto no-repeat
}

.sidebar_contants_info_contact_yoyaku_inner::before {
    background: rgba(62, 112, 132, 1);
    mask: url(https://dca-yoyogi.jp/wp-content/themes/az/img/common/ico_calender_white.png) 50% 50% / 80% auto no-repeat;
}

.sidebar_contants_info_contact_tel_inner_sub {
    font-size: 58%;
}

@media (max-width: 959px) {
    .sidebar_contants_info_contact {
        display: none;
    }

    .sidebar_contants_info {
        display: block;
        max-width: 560px;
    }
}

@media (max-width: 559px) {
    .sidebar_contants_info {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}

/*=================================================
チェックボックス
=================================================*/
.list-check li {
    padding-left: 1.8em;
    position: relative;
    margin-bottom: 10px;
    line-height: 1.4;
}

.list-check li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 1em;
    height: 1em;
    border: 2px solid rgb(62, 112, 132);
}

.list-check li::after {
    content: "";
    position: absolute;
    left: 0.4em;
    top: 0.3em;
    width: 0.3em;
    height: 0.7em;
    rotate: 45deg;
    border-right: 2px solid rgb(62, 112, 132);
    border-bottom: 2px solid rgb(62, 112, 132);
}

.top_clinic_info {
    max-width: 900px;
    margin: auto;
    padding-top: 40px;
    padding-bottom: 60px;
}

.top_clinic_info_columns {
    margin-bottom: 40px;
}

.top_blog_btn {
    text-align: right;
    margin-top: 20px;
}

.top_blog_btn a {
    color: #233b68;
    text-decoration: none;
}

@media (min-width: 960px) {
    .top_clinic_info {
        max-width: unset;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 40px;
    }
}

.greeting__box {
    max-width: fit-content;
}

@media (min-width: 560px) and (max-width: 959px) {
    .greeting__box {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 959px) {
    .top__promise .post_custom_content {
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }
}

.career__box {
    display: grid;
}

.career__box dl {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    grid-gap: 0 0.5em;
}

@media (min-width: 960px) {
    .career__box dl {
        grid-template-columns: auto 1fr;
        grid-column: unset;
    }
}

@media (max-width: 959px) {

    .about__box .post_custom_img,
    .about__box .post_custom_content {
        max-width: 570px;
        margin-left: auto;
        margin-right: auto;
    }
}


.table__normal {
    max-width: fit-content;
    margin: 0 auto 20px;
}

.table__normal tr:first-child {
    border-top: 1px solid rgb(62, 112, 132);
}

.table__normal th,
.table__normal td {
    padding: 10px 20px;
    text-align: left;
    border-bottom: 1px solid rgb(62, 112, 132);
}

.table__normal th {
    color: rgb(62, 112, 132);
    font-weight: bold;
}

@media (max-width: 559px) {

    .table__normal th,
    .table__normal td {
        display: block;
    }

    .table__normal tr {
        border-bottom: 1px solid rgb(62, 112, 132);
    }

    .table__normal th {
        border-bottom: 0;
        text-align: center;
        padding-bottom: 0;
    }

    .table__normal td {
        max-width: fit-content;
        margin: 0 auto 20px;
        padding-bottom: 0;
        border-bottom: 0;
    }
}

.greeting__box {
    /*  position: relative;*/
    line-height: 1.8;
}

body.front .top__greeting__box h2 {
    margin-bottom: 60px;
}

.top__greeting__box__position {
    text-align: right;
    font-family: "Noto Serif JP", serif;
    line-height: 1.5;
}

.top__greeting__box__name {
    display: block;
    font-size: 130%;
}

@media (min-width: 960px) {
    .greeting__box {
        padding-bottom: 3em;
    }

    .top__greeting__box .post_custom_box {
        position: relative;
    }

    .top__greeting__box__position {
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: 180px;
    }
}


.top__promise .post_custom_img_inner {
    position: relative;
}

.top__promise .post_custom_img_inner::after {
    content: "";
    position: absolute;
    left: 10px;
    top: 10px;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.top__promise:has(img.lazyloaded) .post_custom_img_inner::after {
    background: rgba(62, 112, 132, 0.2);
}

.top__promise .post_custom_img_inner img {
    position: relative;
    z-index: 5;
}

.top__greeting__box {
    margin-bottom: 80px;
}


/*=================================================
カラム
=================================================*/

.column3_box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 20px;
}

@media (max-width: 959px) {
    .column3_box {
        display: block;
    }

    .column3_box>div {
        margin-bottom: 30px;
    }
}


.service__list__img__perio__anime {
    opacity: 1;
    animation: anime_perio 2.5s ease 2s both infinite;
}

@keyframes anime_perio {
    0% {
        opacity: 1;
    }

    40% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.service__list__img__transplant__base__wrap {
    position: relative;
    z-index: 10;
}

.service__list__img__transplant__anime__wrap::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    height: 10px;
    background: #fff;
    animation: anime_transplant 3.5s ease 1s both infinite;
}

@keyframes anime_transplant {
    0% {
        top: 0;
    }

    100% {
        top: 100%;
    }
}


.service__list__img__cavity__base__wrap {
    position: relative;
    z-index: 10;
}

.service__list__img__cavity__anime__wrap {
    animation: anime_cavity 2.5s ease 1.5s both infinite;
}

@keyframes anime_cavity {
    0% {
        opacity: 1;
    }

    40% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}


.service__list__img__canal__anime__wrap::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mask: url(https://dca-yoyogi.jp/wp-content/uploads/2025/07/icon-11_02.png) 0% 0% / contain no-repeat;
    z-index: 1;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 0) 100%);
    background-size: 10px 10px;
    background-position: 0 0;
    animation: anime_canal 0.8s linear 0s both infinite;
}

@keyframes anime_canal {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 0 10px;
    }
}


/* 矯正歯科
-----------------------------------------*/

.service__list__img__ortho__anime__wrap {
    position: relative;
}

.service__list__img__ortho__anime__wrap::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mask: url(https://dca-yoyogi.jp/wp-content/uploads/2025/07/icon-12_02.png) 0% 0% / contain no-repeat;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 1) 80%);
    background-size: 6px 100%;
    background-repeat: repeat-x;
    animation: anime_ortho 10s linear 0s both infinite;
    padding-right: 50%;
    box-sizing: border-box;
    background-clip: content-box;
}
.service__list__img__ortho__anime__wrap::after {
    content: "";
    position: absolute;
    left: 0%;
    top: 0;
    width: 100%;
    height: 100%;
    mask: url(https://dca-yoyogi.jp/wp-content/uploads/2025/07/icon-12_02.png) 0% 0% / contain no-repeat;
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 1) 80%);
    background-size: 6px 100%;
    background-repeat: repeat-x;
    animation: anime_ortho 10s linear 0s both infinite reverse;
    padding-left: 50%;
    box-sizing: border-box;
    background-clip: content-box;
}

@keyframes anime_ortho {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 100% 0;
    }
}


/* ホワイトニング
-----------------------------------------*/
.service__list__img__whitening__anime__wrap>img {
    position: absolute;
}

.service__list__img__whitening__anime__wrap .service__list__img__whitening__anime01 {
    animation: anime_perio 2.5s ease 1s both infinite;
}

.service__list__img__whitening__anime__wrap .service__list__img__whitening__anime02 {
    animation: anime_perio 2.5s ease 1.3s both infinite;
}

@keyframes anime_white {
    0% {
        opacity: 1;
    }

    40% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}