/* BASIC */
.page-template-clinic-top {
	letter-spacing: 1px;
}
.page-template-clinic-top main#content {
	margin-top: 84px;
}
.page-template-clinic-price {
	letter-spacing: 1px;
}
.page-template-clinic-price main#content {
	margin-top: 84px;
}
.page-template-clinic-brava main#content {
    margin-top: 84px;
}
.page-template-clinic-invisalign main#content {
    margin-top: 84px;
}
.page-template-clinic-wire main#content {
    margin-top: 84px;
}
.page-template-clinic-kireilign main#content {
    margin-top: 84px;
}
.cl-header-container {
	padding: 5px 20px;
}
.cl_catch {
	margin-bottom: 80px;
	position: relative;
	color: #7E5F41;
}
.cl_catch:before {
	content: "Concept";
	position: absolute;
	width: fit-content;
	height: fit-content;
	font-family: "Petit Formal Script", cursive;
	font-weight: 400;
	font-size: 152px;
	color: rgb(119 110 89 / 15%);
	transform: rotate(347deg);
	top: -0.8em;
	left: 0.7em;
}

/* HEADER */
.cl-header-container .logo {
	display: flex;
	align-items: center;
	gap: 15px;
}
.cl-header__name {
	font-family: "Shippori Mincho", serif;
	font-size: 10px;
	color: #fff;
	font-weight: 500;
}
.cl-header__name h1 {
	font-size: 20px;
	font-weight: 600;
}
.cl-header__name  span {
	font-size: 14px;
	display: block;
}
.cl-header__detail {
	font-family: "Shippori Mincho", serif;
	color: #fff;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.5px;
	margin-right: 2em;
}
.cl-header__detail a {
    color: #fff;
    text-decoration: unset;
    padding-left: 1.2em;
    background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/tel.svg);
    background-repeat: no-repeat;
    background-size: auto 1em;
    background-position-y: center;
}
.cl-header-container a.appointment-btn {
	text-align: center;
	font-size: 16px;
	line-height: 1.5;
	margin-right: 0;
}
.cl-header-container .appointment-btn span {
	font-size: 11px;
	display: block;
}
.cl-header-container .appointment-btn br {
	display: none;
}
.mobile-menu {
	background-color: #f2eee7;
}
.mobile-menu-header {
	background-color: #f2eee7;
	border-bottom: solid 0.5px #836C25;
}
.mobile-menu-logo {
	display: flex;
	align-items: center;
	gap: 15px;
}
.cl_mobile_menu__name {
	font-family: "Shippori Mincho", serif;
	font-size: 10px;
	font-weight: 500;
	color: #836C25;
}
.featured-menu {
	padding: 0;
}
.featured-menu-item span {
	color: #836C25;
}
.featured-menu-item a img {
	top: -2px;
}
.mobile-menu-header {
	padding: 25px;
}
.cl_mobile_menu {
	padding: 20px;
}
.cl_mobile_menu__list {
	list-style: none;
}
.cl_mobile_menu__list li {
	color: #836C25;
}
.cl_mobile_menu__list li a {
	color: #836C25;
	text-decoration: unset;
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	letter-spacing: 2px;
	font-weight: 500;
	display: block;
	width: 100%;
	border-bottom: solid 0.5px #836C25;
	padding: 0.7em 0;
}
.cl_mobile_menu__list li a.cl_mobile_menu__list--icon {
    display: flex;
    align-items: center;
}
.cl_mobile_menu__list li a.cl_mobile_menu__list--icon img {
    height: 1em;
}
.cl_mobile_menu__list li a span {
	margin-left: 0.6em;
}
.cl_mobile_menu__list--submenu {
	padding-left: 15%;
}
.featured-menu-item {
	border-bottom: solid 0.5px #836C25;
	border-right: solid 0.5px #836C25;
}
.featured-menu-item:nth-child(2n) {
	border-right: none;
}
.cl_mobile_cta {
	padding: 20px 20px 40px;
}
.cl_mobile_cta a {
	background: #836C25;
	display: block;
	text-decoration: unset;
	text-align: center;
	color: #fff;
	padding: 1em;
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
}
.cl_mobile_cta a span {
	font-size: 15px;
}
.cl_mobile__detail {
	padding: 0 20px 60px;
	text-align: center;
}
.cl_mobile__detail--name h1 {
	font-family: "Shippori Mincho", serif;
	font-size: 25px;
	color: #836C25;
	font-weight: 600;
	margin: 0.5em 0 0.5em;
}
.cl_mobile__detail--adress {
	color: #836C25;
}
.cl_mobile__detail--tel a {
	color: #836C25;
	text-decoration: unset;
	display: block;
	margin-top: 0.5em;
}

/* CONCEPT */
.cl_concept {
	padding: 200px 20px 80px;
}
.cl_concept__content--lead {
	width: 65%;
	margin-right: 5%;
	line-height: 2;
}
.cl_concept__content--img {
	width: 30%;
}
.cl_concept__content--img_name {
	font-size: 15px;
	color: #707070;
	display: block;
	margin: 0.5em 0 0;
}

/* FEATURE */
.cl_reason {
	padding: 200px 20px 80px;
}
.cl_reason__catch.cl_catch:before {
	content: "Feature";
}
.cl_reason__list {
	margin-top: 120px;
}
.cl_reason__list--content {
    margin-bottom: 40px;
}
.cl_reason__list--content:last-child {
	margin-bottom: 0;
}
.cl_reason__list--ttl {
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	color: #545454;
	display: flex;
	align-items: center;
	margin-bottom: 1.5em;
}
.cl_reason__list--ttl span {
	margin-top: 1em;
	margin-left: 0.5em;
	display: block;
	line-height: 1.5;
}
.cl_reason__list--ttl img {
	height: 150px;
}
.cl_reason__list--text {
	width: 55%;
}
.cl_reason__list--text p {
	margin-bottom: 1.5em;
}
.cl_reason__list--text .cl_modal a {
    color: #E69498;
    text-decoration: unset;
}
.cl_reason__list--img {
	width: 45%;
	padding-left: 4%;
}
.cl_reason__list_menu {
	margin: 80px 0 0;
}
.cl_reason__list_menu--content {
	text-decoration: unset;
}
.cl_reason__list_menu--ttl {
    font-family: "Noto Serif JP", serif;
    text-align: center;
    font-size: 18px;
    letter-spacing: 0;
    border-bottom: solid 1px #AC8C4C;
    padding-bottom: 0.3em;
    margin-bottom: 0.8em;
    font-weight: 500;
}
.cl_reason__list_menu--subttl {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	color: #836C25;
	font-size: 15px;
	margin-top: 0.5em;
}
.cl_concept__content--subtext {
	color: #545454;
	font-size: 14px;
	margin-top: 11px;
}

/* MENU */
.cl_menu {
	padding: 200px 20px 120px;
	background: rgb(239 239 239 / 50%);
}
.cl_menu__catch.cl_catch:before {
	content: "Menu";
	font-size: 125px;
	top: -1em;
}
.cl_menu__list {
	margin-bottom: 20px;
}
.cl_menu__list--content {
	background: #F9F9F9;
	box-shadow: 0 0 10px #dcdcdc;
	text-decoration: unset;
}
.cl_menu__list--ttl {
    font-family: "Noto Serif JP", serif;
    font-size: 18px;
    text-align: center;
    height: 4.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0;
    font-weight: 500;
}
.cl_menu__list--text {
	font-size: 15px;
	font-weight: 400;
	margin: 1em;
}
.cl_menu__list--btn {
	display: flex;
	justify-content: end;
	font-size: 14px;
	padding: 1em;
	gap: 10px;
}

/* CASE */
.cl_case {
	padding: 150px 20px 120px;
}
.cl_case__catch.cl_catch:before {
	content: "Case";
	font-size: 125px;
	top: -1em;
}
.cl_case__slider .case-card {
	background-image: url(../images/page/top/card.png);
	background-size: 100% 100%;
	background-position: center;
}
.cl_case__slider .case-note {
	font-size: 10px;
	color: #7E5F41;
	line-height: 1.5;
}
.cl_case__slider .case-swiper {
	margin-bottom: 0;
}
.cl_case__note {
	margin-top: -34px;
	max-width: unset;
	padding: 0;
	font-size: 15px;
	line-height: 2;
	color: #545454;
	position: relative;
	z-index: 100;
}
.cl_case__note a {
	color: #E69498;
	text-decoration: unset;
}
.cl_case__note a.underline {
    color: unset;
    text-decoration: underline;
}
/* MODAL */
.cl_modal__content {
	display: none;
	position: fixed;
	z-index: 9999;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	justify-content: center;
	align-items: center;
	padding: 40px 20px;
}

.cl_modal__content.is-active {
	display: flex;
}
.cl_modal__content > div {
    background: #fff;
    padding: 20px;
    max-width: 600px;
    width: 100%;
    font-size: 14px;
    line-height: 1.8;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    overflow-y: auto;
    max-height: 80vh;
    border: solid 1px #AC8C4C;
    color: #333;
    text-align: left;
}
.cl_modal__content h3 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 1em;
	text-align: center;
}
.cl_modal__content p:first-child {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 1em;
    text-align: center;
}
.cl_modal__content a {
	color: #0077cc;
	text-decoration: underline;
	word-break: break-all;
	color: #333;
}

/* FLOW */
.cl_flow {
	padding: 200px 20px 80px;
	background: rgb(239 239 239 / 50%);
}
.cl_flow__catch.cl_catch:before {
	content: "Flow";
	font-size: 125px;
	top: -1em;
}
.cl_flow__step-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 65px;
	margin-bottom: 50px;
}
.step-tab {
	background: #fff;
	border: solid 1px #776E59;
	padding: 0.5em 1em;
	cursor: pointer;
	font-size: 18px;
	color: #333;
	transition: 0.3s;
	position: relative;
}
.step-tab:after {
	content: "→";
	color: #545454;
	display: block;
	position: absolute;
	right: -2.4em;
	top: calc(50% - 0.65em);
	font-size: 1em;
}
.step-tab:last-child:after {
	display: none;
}
.step-tab.is-active {
	background-color: #7b5b35;
	color: #fff;
	border-color: #7b5b35;
}
.cl_flow__step--swiper {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0px 60px;
}
.flow-swiper-pagination {
	bottom: 15px!important;
}
.cl_flow__step--content {
	text-align: center;
	padding: 40px 40px 30px;
	background: #fff;
	height: fit-content!important;
	border: solid 1px #776E59;
}
.cl_flow__step--content img {
	max-width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.cl_flow__step--content h3 {
	font-size: 24px;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	margin-bottom: 1em;
}
.cl_flow__step--img {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: fit-content;
	margin-bottom: 20px;
}
.cl_flow__step--img:before {
	content: "";
	display: block;
	padding-top: 75%;
}
.cl_flow__step--img img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
	max-width: none;
	min-height: 100%;
	object-fit: cover;
}

/* RECRUIT */
.cl_recruit__banner {
	padding: 80px 20px;
	max-width: 900px;
}

/* CTA */
.cl_cta {
	margin-bottom: 50px;
}
.cl_cta h2 {
	color: #776E59;
	margin-bottom: 0.5em;
}
.cl_cta__lead {
	font-size: 22px;
	color: #776E59;
	margin-bottom: 1.5em;
}
.cl_cta__btn {
	justify-content: center;
}
.cl_cta__btn img {
    width: 470px;
}
.cl_cta__btn--reserve {
	background: #836C25;
	color: #fff;
	text-decoration: unset;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0.7em 1em;
	border: solid 1px #836C25;
}
.cl_cta__btn--reserve img {
    height: 1.7em;
    width: auto;
}
.cl_cta__btn--contact {
	color: #836C25;
	text-decoration: unset;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0.7em 1em;
	border: solid 1px #836C25;
}

/* FOOTER */
footer.cl_footer {
	background: rgb(147 121 96 / 20%);
	color: #776E59;
	padding: 60px 60px 0;
	text-align: left;
}
footer.cl_footer a {
	color: #776E59;
	text-decoration: unset;
}
.cl_footer__logo {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}
.cl_footer__logo--img img {
	height: 45px;
}
.cl_footer__logo--name {
	font-family: "Shippori Mincho", serif;
	font-size: 10px;
	font-weight: 500;
}
.cl_footer__logo--name h1 {
	font-size: 20px;
	font-weight: 600;
}
.cl_footer__logo--name span {
	font-size: 14px;
	display: block;
}
.cl_footer__detail {
	margin-bottom: 50px;
}
.cl_footer__detail--hours tr {
	border-bottom: solid 1px #545454;
}
.cl_footer__detail--hours {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	text-align: center;
}
.cl_footer__detail--hours thead th {
	font-weight: normal;
	padding: 10px;
	border-bottom: 1px solid #8b8179;
	font-size: 16px;
	letter-spacing: 0.05em;
}
.cl_footer__detail--hours tbody th {
	font-weight: normal;
	padding: 10px 0px;
	font-size: 16px;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #8b8179;
	white-space: nowrap;
}
.cl_footer__detail--hours td {
	padding: 10px 0px;
	font-size: 16px;
	color: #1f6b7b;
	border-bottom: 1px solid #8b8179;
}
.cl_footer__detail--hours tr:last-child td,
.cl_footer__detail--hours tr:last-child th {
	border-bottom: 1px solid #8b8179;
}
.cl_footer__detail--content {
	width: 45%;
}
.cl_footer__detail--adress {
	font-size: 17px;
	margin: 1em 0 0;
	line-height: 1.8;
}
.cl_footer__detail--map {
	width: 53%;
}
.cl_footer__detail--map iframe {
	height: 335px;
	width: 100%;
}
.cl_footer__menu--content ul li {
	list-style: none;
}
.cl_footer__menu--content ul li a {
	position: relative;
	display: block;
	width: fit-content;
	line-height: 2;
}
.cl_footer__menu--content ul li a:after {
	content: "";
	width: calc(100% - 1em);
	height: 1px;
	background: #776E59;
	position: absolute;
	left: 1.1em;
	bottom: 3px;
}
.cl_footer__copyright {
	font-family: "Noto Serif JP", serif;
	background: #fff;
	text-align: center;
	width: calc(100% + 120px);
	margin-left: -60PX;
	font-size: 14px;
	padding: 2em;
	margin-top: 80px;
}
.cl_footer__box {
    font-size: 12px;
    font-weight: 300;
    color: #7E5F41;
    background: #F3EFEC;
    margin: 60px 0 0;
    padding: 60px 40px;
}

/* PRICE PAGE */
.cl_price {
    margin-bottom: 80px;
}
.cl_price__intro {
    padding: 80px 0;
}
.cl_price__intro--catch {
    color: #7E5F41;
}
.cl_price__intro--catch span {
    font-size: 0.7em;
}
.cl_price__table.price__menu--table table tbody tr td:first-child span {
    display: inline-block;
}
.cl_price__table.price__menu--table table tbody tr td:first-child span.table__ttl_sm_text {
    display: inline-block;
}
.cl_price__menu--body.price__menu--body {
    background: rgb(239 239 239 / 50%);
    margin: 0;
    padding: 100px 0;
}
.cl_price__menu--body:nth-child(2n) {
    background: #fff;
}

/* BRAVA PAGE */
.cl_brava__intro {
    padding: 80px 0;
}
.cl_brava__intro--catch {
    color: #7E5F41;
    margin-bottom: 40px;
}
.cl_brava__intro--content {
    max-width: 940px;
}
.cl_brava__intro--lead a.cl_modal__link {
    font-size: 0.8em;
    color: #D09995;
    display: block;
    margin: 1em 0;
}
.cl_brava__intro--lead {
    margin-bottom: 50px;
}
.page-template-clinic-brava .cl_cta {
    width: 470px;
    max-width: 100%;
    margin: 0 auto;
}
.page-template-clinic-brava .cl_cta .cl_modal a {
    font-size: 12px;
    text-align: left;
    display: block;
    color: #D09995;
    text-decoration: unset;
    margin-top: 0.5em;
    padding: 0 1em;
}
.page-template-clinic-invisalign .cl_cta {
    width: 470px;
    max-width: 100%;
    margin: 0 auto;
}
.page-template-clinic-invisalign .cl_cta .cl_modal a {
    font-size: 12px;
    text-align: left;
    display: block;
    color: #D09995;
    text-decoration: unset;
    margin-top: 0.5em;
    padding: 0 1em;
}
.page-template-clinic-wire .cl_cta {
    width: 470px;
    max-width: 100%;
    margin: 0 auto;
}
.page-template-clinic-wire .cl_cta .cl_modal a {
    font-size: 12px;
    text-align: left;
    display: block;
    color: #D09995;
    text-decoration: unset;
    margin-top: 0.5em;
    padding: 0 1em;
}
.page-template-clinic-kireilign .cl_cta {
    width: 470px;
    max-width: 100%;
    margin: 0 auto;
}
.page-template-clinic-kireilign .cl_cta .cl_modal a {
    font-size: 12px;
    text-align: left;
    display: block;
    color: #D09995;
    text-decoration: unset;
    margin-top: 0.5em;
    padding: 0 1em;
}
.cl_brava__about {
    padding: 80px 0;
}
.cl_bkgray {
    background: #F5F5F5;
}
.cl_brava__about--description {
    margin-bottom: 60px;
}
.cl_brava__about--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
	line-height: 1.5;
}
.cl_brava__about--img {
    width: 48%;
}
.cl_brava__about--text {
    width: 48%;
    margin-left: 4%;
}
.cl_brava__about--merit {
    background: #fff;
    border: solid 1px #B1883A;
    border-radius: 10px;
    padding: 50px;
    margin-bottom: 60px;
}
.cl_brava__about--merit--ttl {
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 1.2em;
    padding-bottom: 0.8em;
    border-bottom: solid 1px #B1883A;
}
.cl_brava__about--merit__list--ttl {
    color: #B1883A;
    font-size: 25px;
    margin-bottom: 0.5em;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 5px;
    position: relative;
    padding-left: 1.3em;
}
.cl_brava__about--merit__list--ttl:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45em;
    line-height: 1.4;
    color: #B1883A;
    width: 0.8em;
    height: 0.8em;
    background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/brava/check.png);
    background-position: center;
    background-size: 100%;
}
.cl_brava__about--merit__list--text {
    font-size: 18px;
    margin-bottom: 1.5em;
}
.cl_brava__about--merit__list--content:last-child .cl_brava__about--merit__list--text {
    margin-bottom: 0em;
}
.cl_brava__commitment {
    padding: 80px 0;
}
.cl_brava__commitment--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
	line-height: 1.5;
}
.cl_brava__commitment--img {
    width: 48%;
}
.cl_brava__commitment--img_comment {
    margin-top: 1em;
}
.cl_brava__commitment--text {
    width: 48%;
    margin-left: 4%;
}
.cl_brava__commitment--description {
    font-size: 18px;
    color: #545454;
    margin-bottom: 60px;
    align-items: flex-start;
    font-weight: 350;
}
.cl_brava__about2--img {
    max-width: 610px;
    margin: 0 auto 30px;
}
.cl_brava__about2--description {
    font-size: 18px;
    color: #545454;
    margin-bottom: 60px;
}
.cl_brava__difference {
    padding: 80px 0;
}
.cl_brava__difference--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_brava__difference--text {
    text-align: center;
    color: #545454;
    margin-bottom: 50px;
}
.cl_brava__difference--img {
    max-width: 650px;
    margin: 0 auto 60px;
}
.cl_brava__difference--img_comment {
    margin: 30px 0 0;
}
.cl_brava__difference--img_comment a.cl_modal__link {
    font-size: 0.8em;
    color: #D09995;
    display: block;
    margin: 1em 0;
    font-size: 11px;
}
.cl_brava__difference--img_comment > p {
    margin-bottom: 2em;
    font-size: 11px;
    color: #545454;
}
.cl_brava__difference--list--content {
    margin-bottom: 80px;
}
.cl_brava__difference--list--img {
    width: 48%;
    margin-right: 4%;
}
.cl_brava__difference--list--img video {
    width: 100%;
}
.cl_brava__difference--list--description.flex_2culm {
    width: 48%;
}
.cl_brava__difference--list--text {
    font-size: 18px;
    color: #545454;
    font-weight: 400;
    line-height: 2;
}
.cl_brava__difference--list--ttl {
    border-top: solid 5px rgb(196 168 111 / 50%);
    border-bottom: solid 5px rgb(196 168 111 / 50%);
    color: #7E5F41;
    padding: 0.5em;
    font-size: 30px;
    position: relative;
}
.cl_brava__difference--list--ttl span {
    font-family: "Noto Serif JP", serif;
    color: #fff;
    background: #B1883A;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    font-size: 58px;
    position: absolute;
    border-radius: 100%;
    bottom: 0;
    left: 0.2em;
}
.cl_brava__difference--list--ttl {
    border-top: solid 5px rgb(196 168 111 / 50%);
    border-bottom: solid 5px rgb(196 168 111 / 50%);
    color: #7E5F41;
    padding: 0.5em;
    font-size: 30px;
    position: relative;
    margin-bottom: 1.5em;
    text-align: left;
    padding-left: 150px;
}
.cl_brava__difference--list--text .cl_case__note {
    margin: 1em 0 0;
    font-size: 12px;
}
.cl_brava__difference--list--content--body {
    display: flex;
    flex-wrap: wrap;
}
.cl_brava__difference--list--img_comment {
    font-size: 15px;
    margin-top: 0.5em;
}
.cl_brava__price {
    padding: 80px 0;
}
.cl_brava__price--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_brava__price--menu .cl_price__menu--body.price__menu--body {
    padding: 40px 0 0;
    background: unset;
}
.cl_brava__price--menu .cl_price__menu--body.price__menu--body a.cl_modal__link {
    font-size: 0.8em;
    color: #D09995;
    display: block;
    margin: 1em 0;
    font-size: 11px;
}
.cl_brava__price--menu .cl_cta {
    margin-top: 60px;
}
.cl_brava__flow {
    padding-bottom: 60px;
}
.cl_brava__flow--content {
    border: solid 1px #836C25;
    padding: 30px;
}
.cl_brava__flow--content h3 {
    font-size: 15px;
    font-weight: 400;
    text-align: center;
    color: #836C25;
    margin-bottom: 1.5em;
}
.cl_brava__flow--step {
    font-family: "Noto Serif JP", serif;
    font-size: 27px;
    color: #836C25;
    text-align: center;
    margin-bottom: 0.5em;
}
.cl_brava__flow--step span {
    font-size: 18px;
    margin-right: 0.3em;
}
.cl_brava__flow--img {
    padding: 0 1em;
    margin-bottom: 1em;
}
.cl_brava__flow--content p {
    font-size: 14px;
}
.cl_brava__flow--swiper {
    padding-bottom: 60px;
    margin-bottom: 60px;
}
.cl_brava__case {
    padding: 80px 0;
    background: #F5F5F5;
}
.cl_brava__case--catch {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_brava__case--slider_main {
    position: relative;
}
.cl_brava__case--slider .case-title--ttl {
    background: #B1956026;
    display: block;
    font-size: 14px;
    padding: 0.5em;
    margin-bottom: 0.5em;
}
.cl_brava__case--slider .case-subtitle {
    font-size: 13px;
}
.cl_brava__case--note {
    margin-bottom: 50px;
}
.cl_brava__case--slider {
    max-width: 800px;
    margin: 0 auto 60px;
}
.cl_brava__case--note {
    max-width: 800px;
}
.cl_brava__qa {
    padding: 80px 0;
}
.cl_brava__qa--catch {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
/* よくあるご質問 アコーディオン */
.cl_brava__qa--list--content {
    border-radius: 8px;
    margin-bottom: 16px;
    overflow: hidden;
    background: #fff;
}
.cl_brava__qa--list--ttl {
    cursor: pointer;
    padding: 20px;
    margin: 0;
    border-bottom: 1px solid #B1883A;
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 22px;
}
.cl_brava__qa--list--ttl::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: bold;
    color: #666;
    transition: transform 0.3s ease, color 0.3s ease;
}
.cl_brava__qa--list--ttl.active::after {
    transform: translateY(-50%) rotate(45deg);
    color: #333;
}
.cl_brava__qa--list--ttl img {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}
.cl_brava__qa--list--ttl span {
    font-size: 20px;
    font-weight: 400;
    color: #545454;
    line-height: 1.5;
    padding-right: 40px;
}
.cl_brava__qa--list--description {
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background: #fff;
    max-height: 500px;
    padding: 20px;
    font-size: 18px;
    display: flex;
    gap: 20px;
}
.cl_brava__qa--list--description.active {
    max-height: 500px;
    padding: 20px;
    border-top: 1px solid #eee;
}
.cl_brava__qa--list--description p {
    margin: 0;
    line-height: 1.7;
    color: #555;
}
.cl_brava__qa--list--content.opening .cl_brava__qa--list--description {
    max-height: 500px;
    padding: 20px;
    font-size: 18px;
    display: flex;
    gap: 20px;
}
.cl_brava__qa--list--content.closing .cl_brava__qa--list--description {
    max-height: 0;
    padding: 0 20px;
    border-top: none;
}
.cl_brava__qa--list--description img {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}
.cl_brava__qa--list {
    margin-bottom: 60px;
}

/* invisalign PAGE */
.bold {
    font-weight: bold;
}
.underline {
    text-decoration: underline;
    text-underline-offset: 2px;
    color: #545454;
}
.cl_invisalign__recommend {
    margin: 80px 0 40px;
}
.cl_invisalign__recommend--ttl {
    background: rgb(177 149 96 / 80%);
    text-align: center;
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    padding: 1.5em 0;
    margin-bottom: 2em;
}
.cl_invisalign__recommend--intro h3 {
    text-align: center;
    font-size: 18px;
    margin-bottom: 1.5em;
    color: #545454;
}
.cl_invisalign__recommend--intro__body {
    gap: 40px;
    justify-content: center;
    margin-bottom: 40px;
    font-size: 18px;
    line-height: 2;
}
.cl_invisalign__recommend--text {
    color: #545454;
    text-align: center;
    font-size: 18px;
    line-height: 2;
    background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/invisalign/recommend_bk.png);
    background-size: 45em 100%;
    background-position-x: center;
    background-repeat: no-repeat;
    padding: 20px 0 40px;
    font-weight: bold;
}
.cl_invisalign__recommend--body {
    border-radius: 0;
    padding: 40px;
    max-width: 900px;
    margin: 0 auto 50px;
}
.cl_invisalign__recommend--body--ttl {
    text-align: center;
    color: #836C25;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    margin-bottom: 1em;
}
.cl_invisalign__recommend--list_ttl {
    color: #545454;
    font-size: 18px;
    margin-bottom: 0.5em;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 5px;
    position: relative;
    padding-left: 1.3em;
    width: 50%;
    font-weight: 600;
}
.cl_invisalign__recommend--list_ttl:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45em;
    line-height: 1.4;
    color: #B1883A;
    width: 0.8em;
    height: 0.8em;
    background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/brava/check.png);
    background-position: center;
    background-size: 100%;
}
.cl_invisalign__merit {
    padding: 80px 0;
}
.cl_invisalign__merit--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_invisalign__merit--content {
    border: solid 1px #B1883A;
    border-radius: 15px;
    margin-bottom: 4em;
    padding: 20px;
}
.cl_invisalign__merit--img {
    text-align: center;
    margin-top: -3.3em;
    margin-bottom: 1em;
}
.cl_invisalign__merit--img img {
    height: 4em;
}
.cl_invisalign__merit--list_ttl {
    text-align: center;
    font-weight: 600;
    color: #545454;
    margin-bottom: 1em;
    padding-bottom: 1em;
    position: relative;
    font-size: 16px;
}
.cl_invisalign__merit--list_ttl:after {
    content: "";
    height: 1px;
    width: 15em;
    background: #B1883A;
    position: absolute;
    bottom: 0;
    left: calc(50% - 7.5em);
}
.cl_invisalign__merit--text {
    line-height: 1.8;
}
.cl_invisalign__merit--text .note {
    display: block;
    margin-top: 1em;
}
.cl_invisalign__difference {
    padding: 80px 0;
}
.cl_invisalign__difference--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_invisalign__difference--intro {
    max-width: 900px;
    margin: 0 auto;
}
.cl_invisalign__difference--text {
    font-size: 18px;
    color: #545454;
    line-height: 2;
    margin: 1em 2em 3em;
}
.cl_invisalign__difference--subttl {
    text-align: center;
    font-weight: 600;
    color: #746D6D;
    margin-bottom: 2em;
    padding-bottom: 1em;
    position: relative;
    font-size: 24px;
    font-family: "Noto Serif JP", serif;
}
.cl_invisalign__difference--subttl:after {
    content: "";
    height: 1px;
    width: 15em;
    background: #B1883A;
    position: absolute;
    bottom: 0;
    left: calc(50% - 7.5em);
}
.cl_invisalign__difference--content .case-card {
    background: #fff;
    height: fit-content;
    border: solid 1px #B1883A;
    border-radius: 20px;
}
.cl_invisalign__difference--content {
    width: 40%;
    margin-right: 0;
}
.cl_invisalign__difference--content:nth-child(2n) {
    width: 55%;
    margin-left: 5%;
}
.cl_invisalign__difference--content .cl_modal a {
    color: #D09995;
    display: block;
    margin: 0em 0;
}
h4.case-title .case-subtitle {
    margin-left: 0;
    font-size: 13px;
    letter-spacing: 0;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 500;
}
.cl_invisalign__difference--flex {
    max-width: 1000px;
    margin: 0 auto 40px;
}
.cl_invisalign__difference--content {
    line-height: 2;
}
.cl_invisalign__difference--content a {
    text-decoration: unset;
    display: block;
    font-size: 14px;
}
.cl_invisalign__merit02 {
    padding: 80px 0;
}
.cl_invisalign__merit02--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_invisalign__merit02--text {
    margin-bottom: 50px;
}
.cl_invisalign__merit02--list--content {
    background: rgb(217 217 217 / 10%);
    border: solid 1px #AB833E;
    padding: 40px 80px;
    position: relative;
    margin-bottom: 80px;
}
.cl_invisalign__merit02--list--number {
    font-family: "Noto Serif JP", serif;
    line-height: 1;
    width: fit-content;
    background: #B1883A;
    color: #fff;
    border-radius: 100%;
    height: 5.5em;
    width: 5.5em;
    padding-top: 0.8em;
    font-size: 15px;
    position: absolute;
    left: -1.5em;
    top: -1.5em;
}
.cl_invisalign__merit02--list--number span {
    display: block;
    font-size: 45px;
}
.cl_invisalign__merit02--list--ttl {
    color: #545454;
    font-size: 23px;
    font-weight: 500;
    margin-bottom: 1.5em;
}
.cl_invisalign__merit02--list--body {
    display: flex;
    flex-wrap: wrap;
}
.cl_invisalign__merit02--list--img {
    margin-right: 4%;
    width: 48%;
}
.cl_invisalign__merit02--list--description {
    width: 48%;
    line-height: 2;
    font-weight: 400;
}
.cl_invisalign__merit02--list--description .cl_case__note {
    margin-top: 10px;
    font-size: 10px;
}
.cl_invisalign__merit02--list--description .cl_case__note br {
    display: none;
}
.cl_invisalign__merit02--list--description .cl_case__note .cl_modal__content br {
    display: block;
}
.cl_invisalign__merit02--slider {
    margin-top: 40px;
}
.cl_brava__price--sub_description {
    background: rgb(177 149 96 / 80%);
    text-align: center;
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    padding: 1.5em 0;
    margin-bottom: 2em;
}
.cl_brava__price--sub_description {
    background: rgb(177 149 96 / 80%);
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    padding: 1.5em 0;
    margin: 2em 0 0;
}
.cl_invisalign__demerit {
    padding: 80px 0;
}
.cl_invisalign__demerit--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_invisalign__demerit--text {
    max-width: 800px;
    margin: 0 auto;
    line-height: 2.5;
}

/* WIRE */
.cl_wire__feature--ttl {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-size: 30px;
    position: relative;
    margin-bottom: 1em;
    color: #746D6D;
    border-bottom: solid 1px #B1883A;
    padding: 0.6em 4em;
    width: fit-content;
    margin: 0 auto 1em;
}
.cl_wire__feature--lead {
    text-align: center;
    margin-bottom: 2em;
}
.cl_wire__feature--content {
    background: #fff;
    border-radius: 10px;
    padding: 2em;
}
.cl_wire__feature--main {
    margin-bottom: 40px;
}
.cl_wire__feature--content h3 {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-size: 26px;
    position: relative;
    color: #746D6D;
    border-bottom: solid 1px #D09995;
    padding: 0.6em 4em;
    width: fit-content;
    margin: 0 auto 1em;
}
.cl_wire__feature--content:nth-child(2n) h3 {
    border-bottom: solid 1px #B1883A;
}
.cl_wire__feature--list_content {
    color: #545454;
    font-size: 18px;
    margin-bottom: 0.5em;
    margin-bottom: 20px;
    position: relative;
    padding-left: 1.8em;
    font-weight: 400;
}
.cl_wire__feature--list_content:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.27em;
    line-height: 1.4;
    color: #B1883A;
    width: 1.2em;
    height: 1.2em;
    background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/wire/feature_icon01.svg);
    background-position: center;
    background-size: 100%;
}
.cl_wire__feature--content:nth-child(2n) .cl_wire__feature--list_content:before {
    background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/wire/feature_icon02.svg);
    background-position: center;
    background-size: 100%;
}
.cl_wire__price--description__img {
    width: 40%;
}
.cl_wire__price--description__content {
    width: 60%;
    padding-left: 3em;
    color: #545454;
}
.cl_wire__price--description__content .cl_brava__price--sub_description {
    font-size: 16px;
    font-family: "Noto Serif JP", serif;
}

/* Kireilign */
.cl_kireilign__merit02 .cl_invisalign__merit02--list--description p {
    margin-bottom: 1em;
}
.cl_invisalign__merit02--list--subttl {
    text-align: center;
    margin-bottom: 2.5em;
}
.cl_invisalign__merit02--list--img_comment {
    margin-top: 20px;
}
.cl_kireilign__merit02 .cl_invisalign__merit02--list--description h4 {
    font-weight: 500;
    font-size: 20px;
    color: #545454;
    border-bottom: solid 1px #545454;
    margin-bottom: 0.5em;
    padding-bottom: 0.2em;
}
.cl_kireilign__merit02 .cl_invisalign__merit02--list--description p .note {
    line-height: 1.4;
    display: inline-block;
}
.kireilign_merit_comment {
    background: #B19560CC;
    text-align: center;
    color: #fff;
    padding: 1.5em 0.5em;
    font-size: 20px;
}
.cl_kireilign__merit02 .cl_invisalign__merit02--list .cl_cta {
    margin-bottom: 80px;
}
.cl_kireilign__case {
    padding: 80px 0;
}
.cl_kireilign__case--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_kireilign__difference {
    padding: 80px 0px;
}
.cl_kireilign__difference--ttl {
    background: rgb(209 187 133 / 17%);
    color: #746D6D;
    font-size: 32px;
    padding: 1.5em 2em;
    margin-bottom: 60px;
    line-height: 1.5;
}
.cl_kireilign__case--list {
    margin: 60px 0;
}
.cl_kireilign__case--list__content {
    background: #fff;
    padding: 40px 30px;
}
.cl_kireilign__case--list__ttl {
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #7E5F41;
    padding-bottom: 0.7em;
    border-bottom: solid 1px #7E5F41;
    font-size: 20px;
    margin-bottom: 1.5em;
    font-weight: 600;
}
.cl_kireilign__case--list__slider {
    padding-bottom: 2em;
}
.cl_kireilign__case--list__slider .swiper-pagination-horizontal {
    bottom: 0em;
}
.cl_kireilign__case--list__description--text {
    color: #836C25;
    margin: 1em 0;
}
.cl_kireilign__difference--lead {
    margin-bottom: 3em;
}
.cl_kireilign__difference--list__content {
    background: #F8F8F8;
    padding: 2em;
}
.cl_kireilign__difference--list__ttl {
    font-size: 22px;
    text-align: center;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: solid 1px #836C25;
}
.cl_kireilign__difference--list__description {
    color: #545454;
    margin: 1em 0;
    line-height: 2;
}
.cl_kireilign__difference--list__description a {
    display: block;
    margin-top: 1em;
}
.cl_kireilign__difference--subbody {
    margin: 60px 0;
}
.cl_kireilign__difference--subttl {
    font-size: 23px;
    text-align: center;
    margin-bottom: 2em;
    padding-bottom: 1em;
    border-bottom: solid 1px #836C25;
    color: #545454;
    font-weight: 500;
}
.cl_case__note.note.cl_kireilign__case--note {
    margin-top: 1em;
}

@media (max-width: 768px) {
	.cl_brava__qa--list--ttl {
		padding: 16px;
		gap: 10px;
	}
    .cl_brava__qa--list--ttl span {
        font-size: 14px;
        padding-right: 35px;
    }
    .cl_brava__qa--list--ttl::after {
        right: 16px;
        font-size: 20px;
    }
    .cl_brava__qa--list--description.active {
		padding: 16px;
		gap: 10px;
    }
    .cl_brava__qa--list--content.opening .cl_brava__qa--list--description {
        padding: 16px;
		gap: 10px;
    }
    .cl_brava__qa--list--content.closing .cl_brava__qa--list--description {
		padding: 0 16px;
		gap: 10px;
	}
	.cl_brava__qa--list--description p {
		font-size: 14px;
	}
}


@media (max-width: 768px) {
	.cl-header__detail {
		display: none;
	}
	.cl_catch {
		margin-bottom: 40px;
	}
	.cl_catch:before {
		font-size: 50px;
		left: 0;
	}
	.cl_footer__detail--map {
		width: 100%;
		order: -1;
		margin-bottom: 20px;
	}
	.cl_footer__detail--map iframe {
		height: 250px;
	}
	.cl_menu__catch.cl_catch:before {
		font-size: 50px;
	}
	.cl_case__catch.cl_catch:before {
		font-size: 50px;
	}
	.cl_flow__catch.cl_catch:before {
		font-size: 50px;
	}
	footer.cl_footer {
		padding: 60px 20px 0!important;
		margin-bottom: -58px;
	}
	.cl_footer__detail--content {
		width: 100%;
	}
	.mobile-menu-header {
		padding: 15px 15px 15px 5px;
	}
	.cl_mobile_menu__name h1 {
		font-size: 15px;
	}
	.logo img {
		height: 30px;
		top: 0px;
	}
	.cl_mobile_menu__list li a {
		font-size: 17px;
	}
	.cl_mobile__detail--name h1 {
		font-size: 17px;
	}
	.cl_mobile__detail--adress {
		font-size: 14px;
	}
	.cl-header-container {
		padding: 15px 10px 15px 5px;
	}
	.cl-header-container .logo {
		gap: 5px;
	}
	.cl-header__name h1 {
		font-size: 12px;
		letter-spacing: 0;
		font-weight: 600;
	}
	.cl-header__name  span {
		font-size: 10px;
		display: block;
	}
	.header-actions {
		right: 50px;
	}
	.cl-header-container .appointment-btn span {
		font-size: 9px;
	}
	.cl-header-container a.appointment-btn {
		font-size: 12px;
	}
	.mobile-menu-btn {
		margin-right: 4px;
	}
	.cl_footer__detail--hours tbody th {
		font-size: 12px;
	}
	.cl_footer__detail--hours thead th {
		font-size: 12px;
	}
	.cl_footer__copyright {
		width: calc(100% + 40px);
		margin-left: -20PX;
		font-size: 11px;
		margin-top: 60px;
	}
	.page-template-clinic-top main#content {
		margin-top: 63px;
	}
	.page-template-clinic-price main#content {
		margin-top: 63px;
	}
	.page-template-clinic-brava main#content {
		margin-top: 63px;
	}
	.page-template-clinic-invisalign main#content {
		margin-top: 63px;
	}
	.page-template-clinic-wire main#content {
		margin-top: 63px;
	}
	.page-template-clinic-kireilign main#content {
		margin-top: 63px;
	}
	
	/* CONCEPT */
	.cl_concept {
		padding: 100px 20px 60px;
	}
	.cl_concept__content {
		justify-content: center;
	}
	.cl_concept__content--img_name {
		font-size: 13px;
	}
	.cl_concept__content--lead {
		width: 100%;
		margin-right: 0;
		margin-top: 20px;
	}
	.cl_concept__content--img {
		width: 100%;
		margin-top: 20px;
		max-width: 200px;
	}

	/* REASON */
	.cl_reason {
		padding: 100px 20px 60px;
	}
	.cl_reason__list {
		margin-top: 40px;
	}
	.cl_reason__list--ttl {
		justify-content: center;
		flex-wrap: wrap;
		margin-bottom: 1em;
	}
	.cl_reason__list--ttl img {
		height: 56px;
	}
	.cl_reason__list--ttl span {
		margin-left: 0;
		font-size: 17px;
		width: 100%;
		text-align: center;
	}
	.cl_reason__list--text {
		width: 100%;
		font-size: 15px;
		order: 1;
		margin-top: 1em;
	}
	.cl_reason__list--img {
		width: 100%;
		padding-left: 0;
	}
	.cl_reason__list--text {
		width: 100%;
		font-size: 15px;
		order: 1;
		margin-top: 1em;
	}
	.cl_reason__list_menu {
		margin: 40px 0 0;
	}
	.cl_reason__list_menu--content {
		width: 100%;
		margin-bottom: 30px;
	}
	.cl_reason__list_menu--ttl {
		font-size: 17px;
	}
	.cl_reason__list_menu--subttl {
		font-size: 13px;
	}
	.cl_reason__list--content {
		margin-bottom: 40px;
	}
	.cl_concept__content--subtext {
		font-size: 10px;
	}
	
	/* MENU */
	.cl_menu {
		padding: 100px 20px 60px;
	}
	.cl_menu__list--content {
		width: 100%;
		margin-bottom: 30px;
	}
	.cl_menu__list--ttl {
		font-size: 17px;
		height: fit-content;
		padding: 1em 0;
	}
	.cl_menu__list--text {
		font-size: 13px;
	}
	.cl_menu__list--btn {
		font-size: 12px;
	}
	.cl_menu__list--content:last-child {
		margin-bottom: 0;
	}
	
	/* CASE */
	.cl_case {
		padding: 100px 20px 60px;
	}
	.cl_case__note {
		margin-top: 0;
		font-size: 12px;
	}

	/* FLOW */
	.cl_flow {
		padding: 100px 20px 60px;
	}
	.cl_flow__step-tabs {
		gap: 30px 0px;
		margin-bottom: 40px;
	}
	.step-tab {
		cursor: pointer;
		font-size: 14px;
		width: 100%;
	}
	.step-tab:after {
		content: "↓";
		top: unset;
		font-size: 1em;
		right: 0;
		left: 0;
		bottom: -1.5em;
	}
	.cl_flow__step--content {
		padding: 30px 20px;
	}
	.cl_flow__step--content h3 {
		font-size: 18px;
	}
	.cl_flow__step--content p {
		font-size: 14px;
		text-align: left;
	}
	.cl_recruit__banner {
		padding: 60px 20px;
	}
	.cl_cta__lead {
		font-size: 14px;
	}
	.cl_cta__btn {
		font-size: 13px;
	}
	.cl_footer__logo {
		justify-content: center;
		text-align: center;
	}
	.cl_footer__logo--name {
		width: 100%;
	}
	.cl_footer__logo--name span {
		font-size: 13px;
	}
	.cl_footer__logo--name h1 {
		font-size: 18px;
	}
	.cl_footer__detail--adress {
		font-size: 13px;
	}
	.cl_footer__menu--content {
		font-size: 14px;
		width: 100%;
		margin-right: 0;
		margin-bottom: 1em;
	}
	.cl_footer__box {
		font-size: 11px;
		margin: 40px 0 0;
		padding: 30px 30px;
	}

	/* PRICE PAGE */
	.cl_price {
		margin-bottom: 60px;
	}
	.cl_price__intro {
		padding: 60px 0;
	}
	.cl_price__menu--body.price__menu--body {
		padding: 60px 0;
	}

	/* BRAVA */
	.cl_brava__intro--catch {
		margin-bottom: 25px;
	}
	.cl_brava__intro--lead a.cl_modal__link {
		font-size: 12px;
	}
	.page-template-clinic-brava .cl_cta .cl_modal a {
		font-size: 11px;
	}
	.page-template-clinic-invisalign .cl_cta .cl_modal a {
		font-size: 11px;
	}
	.page-template-clinic-wire .cl_cta .cl_modal a {
		font-size: 11px;
	}
	.page-template-clinic-kireilign .cl_cta .cl_modal a {
		font-size: 11px;
	}
	.cl_brava__about--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_brava__commitment--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_brava__difference--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_brava__price--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_brava__price--description {
		text-align: left;
	}
	.cl_brava__case--catch {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_brava__qa--catch {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_brava__intro {
		padding: 60px 0;
	}
	.cl_brava__about {
		padding: 60px 0;
	}
	.cl_brava__about--img {
		width: 100%;
		margin-bottom: 20px;
	}
	.cl_brava__about--text {
		width: 100%;
		margin-left: 0;
		padding: 0 1em;
	}
	.cl_brava__about--description {
		margin-bottom: 40px;
	}
	.cl_brava__about--merit {
		padding: 30px;
		margin-bottom: 40px;
	}
	.cl_brava__about--merit--ttl {
		font-size: 21px;
	}
	.cl_brava__about--merit__list--ttl {
		font-size: 17px;
	}
	.cl_brava__about--merit__list--text {
		font-size: 14px;
	}
	.cl_brava__commitment {
		padding: 60px 0;
	}
	.cl_brava__commitment--img {
		width: 100%;
		margin-bottom: 20px;
	}
	.cl_brava__commitment--img img {
		max-width: 200px;
		margin: 0 auto;
		display: block;
	}
	.cl_brava__commitment--img_comment {
		font-size: 14px;
		margin: 1em auto 0;
		display: block;
		width: fit-content;
	}
	.cl_brava__commitment--text {
		width: 100%;
		margin-left: 0;
		font-size: 16px;
	}
	.cl_brava__commitment--description {
		margin-bottom: 40px;
	}
	.cl_brava__about2--description {
		font-size: 16px;
		margin-bottom: 40px;
	}
	.cl_brava__difference {
		padding: 60px 0;
	}
	.cl_brava__difference--text {
		margin-bottom: 40px;
	}
	.cl_brava__difference--list--ttl {
		border-top: solid 3px rgb(196 168 111 / 50%);
		border-bottom: solid 3px rgb(196 168 111 / 50%);
		color: #7E5F41;
		font-size: 18px;
		margin-bottom: 1.5em;
		text-align: center;
		padding-left: 0;
		padding-top: 1.5em;
	}
	.cl_brava__difference--list--ttl span {
		width: 2em;
		height: 2em;
		font-size: 28px;
		bottom: unset;
		left: calc(50% - 1em);
		top: -1.2em;
	}
	.cl_brava__difference--list--text {
		font-size: 15px;
	}
	.cl_brava__difference--list--img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.cl_brava__difference--list--img_comment {
		font-size: 13px;
		margin-top: 0.5em;
	}
	.cl_brava__difference--list--description.flex_2culm {
		width: 100%;
	}
	.cl_brava__price {
		padding: 60px 0;
	}
	.cl_brava__price--menu .cl_price__menu--body.price__menu--body {
		padding: 20px 0 0;
	}
	.cl_brava__price--menu .cl_cta {
		margin-top: 40px;
	}
	.cl_brava__flow--content {
		padding: 20px;
	}
	.cl_brava__flow--swiper {
		padding-bottom: 50px;
		margin-bottom: 40px;
	}
	.cl_brava__case {
		padding: 60px 0;
	}
	.swiper-pagination.cl_brava__case--slider_main-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom: -40px;
	}
	.cl_brava__qa {
		padding: 60px 0;
	}
	.cl_brava__qa--list--ttl img {
		width: 35px;
		height: 35px;
	}
	.cl_brava__qa--list--description img {
		width: 35px;
		height: 35px;
	}
	
	/* invisalign */
	.cl_invisalign__merit--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 60px;
	}
	.cl_invisalign__difference--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_invisalign__merit02--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_invisalign__demerit--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_invisalign__recommend {
		margin: 50px 0 30px;
	}
	.cl_invisalign__recommend--ttl {
		font-size: 17px;
	}
	.cl_invisalign__recommend--intro h3 {
		font-size: 16px;
	}
	.cl_invisalign__recommend--intro__body {
		gap: 0;
		display: block;
		margin-bottom: 40px;
		font-size: 15px;
		padding: 20px;
		background: #fff;
	}
	.cl_invisalign__recommend--text {
		font-size: 15px;
		background: url(/wp-content/themes/dd-dental-2025/assets/images/clinic/invisalign/recommend_bk.png);
		background-size: 100% 100%;
		background-position-x: center;
		background-repeat: no-repeat;
		padding: 10px 0 30px;
	}
	.cl_invisalign__recommend--body--ttl {
		font-size: 17px;
	}
	.cl_invisalign__recommend--list_ttl {
		font-size: 13px;
		width: 100%;
	}
	.cl_invisalign__merit {
		padding: 60px 0;
	}
	.cl_invisalign__merit--content {
		width: 100%;
		margin-right: 0;
		font-size: 15px;
	}
	.cl_invisalign__merit--content:last-child {
		margin-bottom: 2em;
	}
	.cl_invisalign__difference {
		padding: 60px 0;
	}
	.cl_invisalign__difference--intro img {
		width: 100%;
	}
	h4.case-title .case-subtitle {
		font-size: 11px;
	}
	.cl_invisalign__difference--text {
		font-size: 15px;
		line-height: 2;
		margin: 2em 1em 3em;
	}
	.cl_invisalign__difference--subttl {
		font-size: 18px;
	}
	.cl_invisalign__difference--content {
		width: 100%;
		margin-right: 0;
	}
	.cl_invisalign__difference--content:nth-child(2n) {
		width: 100%;
		margin-left: 0;
		order: -1;
		margin-bottom: 2em;
	}
	.cl_invisalign__merit02 {
		padding: 60px 0;
	}
	.cl_invisalign__merit02--text {
		text-align: left;
		margin-bottom: 60px;
	}
	.cl_invisalign__merit02--list--number {
		font-size: 13px;
		left: 0;
		right: 0;
		top: -2.7em;
		margin: 0 auto;
		padding-top: 1em;
	}
	.cl_invisalign__merit02--list--number span {
		font-size: 35px;
	}
	.cl_invisalign__merit02--list--content {
		padding: 50px 20px 30px;
		margin-bottom: 60px;
	}
	.cl_invisalign__merit02--list--ttl {
		font-size: 18px;
		text-align: center;
		margin-bottom: 1.5em;
	}
	.cl_invisalign__merit02--list--img {
		margin-right: 0;
		width: 100%;
		margin-bottom: 20px;
	}
	.cl_invisalign__merit02--list--description {
		width: 100%;
		line-height: 1.8;
	}
	.cl_brava__price--sub_description {
		font-size: 16px;
	}
	.cl_invisalign__demerit {
		padding: 60px 0;
	}
	.cl_invisalign__demerit--text {
		line-height: 2;
		font-size: 15px;
	}
	/* WIRE */
	.cl_wire__feature--ttl {
		font-size: 22px;
		padding: 0.6em 0em;
		width: 100%;
	}
	.cl_wire__feature--content {
		padding: 1.5em;
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.cl_wire__feature--content h3 {
		font-size: 18px;
		padding: 0.6em 0em;
		width: 100%;
		margin: 0 auto 1em;
	}
	.cl_wire__feature--list_content {
		font-size: 14px;
	}
	.cl_wire__feature--list_content:before {
		font-size: 14px;
	}
	.cl_wire__price--description__img {
		width: 100%;
		margin-bottom: 25px;
	}
	.cl_wire__price--description__content {
		width: 100%;
		padding-left: 0;
		font-size: 15px;
	}
	.cl_wire__price--description__content .cl_brava__price--sub_description {
		font-size: 13px;
	}

	/* Kireilign */
	.cl_kireilign__case {
		padding: 60px 0;
	}
	.cl_kireilign__difference {
		padding: 60px 0px;
	}
	.cl_kireilign__case--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_kireilign__difference--ttl {
		font-size: 20px;
		padding: 1em 0em;
		margin-bottom: 30px;
	}
	.cl_kireilign__merit02 .cl_invisalign__merit02--list--description h4 {
		font-size: 18px;
	}
	.kireilign_merit_comment {
		font-size: 15px;
	}
	.cl_kireilign__case--list {
		margin: 40px 0;
	}
	.cl_kireilign__case--list__content {
		width: 100%;
		margin-bottom: 20px;
		padding: 30px 20px;
	}
	.cl_kireilign__case--list__ttl {
		font-size: 16px;
	}
	.cl_kireilign__case--list__description--text {
		font-size: 14px;
	}
	.cl_kireilign__case .cl_kireilign__case--btn {
		padding: 0 20px;
	}
	.cl_kireilign__difference--lead {
		margin-bottom: 2em;
	}
	.cl_kireilign__difference--list__content {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.cl_kireilign__difference--list__ttl {
		font-size: 18px;
	}
	.cl_kireilign__difference--list__description {
		font-size: 14px;
	}
	.cl_kireilign__difference--subbody {
		margin: 40px 0;
	}
	.cl_kireilign__difference--subttl {
		font-size: 17px;
	}

}
@media (max-width: 385px) {
	.clinic-header {
		padding: 1px 0 0;
		min-height: 65.2px;
	}
	.cl-header__name h1 {
		font-size: 11px;
	}
	.cl-header__name span {
		font-size: 9px;
	}
	.cl-header-container a.appointment-btn {
		font-size: 10px;
	}
	.cl-header-container .appointment-btn span {
		font-size: 6px;
	}
}