@charset "utf-8";
/*
 * smp.css
 *
 *  version --- 1.0
 *  updated --- 2025/12/29
 */

/* !root
---------------------------------------------------------- */
:root {
    --default-font: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    --serif: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
    --lato: "Lato", sans-serif;
    --baskerville: "Libre Baskerville", serif;

    --bg: #F3EEE6;
    --black: #000000;
    --brown: #BE9D63;
    --white: #ffffff;
    --gray: #EEEEEE;
    --green: #1E8C63;
}


/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 751px) {
    .is-sp {
        display: none;
    }
}

@media only screen and (max-width : 750px){
	.is-pc {
		display: none;
	}
}


@media only screen and (max-width : 750px){
	.text {
	    font-size: 1.2rem;
	    line-height: 1.875;
	}
	
	.ml-slider{
		height: 100vh;
	}
	
	.metaslider .slides img{
		height: 400px !important;
		object-fit: cover !important;
		width: auto !important;
		object-position: center center !important;
	}

/* !wrapper
---------------------------------------------------------- */
	#wrapper {
	    /*padding-top: 6rem;*/
	}

/* !header
---------------------------------------------------------- */

	.header-inner {
	    padding: 0 1rem;
	}

	.header-box {
	    align-items: center;
	    height: 6rem;
	}

	.header-logo {
	    width: 26rem;
	    margin-top: 0;
	    padding: 0 1rem;
	}

	.header-links {
	    display: none;
	}

	.btn-menu {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    flex-direction: column;
	    gap: .6rem;
	    width: 6rem;
	    height: 6rem;
	}

	.btn-menu .line {
		width: 3rem;
		height: .1rem;
		background: var(--brown);
		transition: all .3s ease-out;
	}

	.btn-menu.is-active .line:nth-child(1) {
		transform: translateY(.7rem) rotate(45deg);
	}

	.btn-menu.is-active .line:nth-child(2) {
		opacity: 0;
	}

	.btn-menu.is-active .line:nth-child(3) {
		transform: translateY(-.7rem) rotate(-45deg);
	}

/* !global navigation
---------------------------------------------------------- */
	#g-navi {
	    margin-top: 0;
	    display: block;
	    position: fixed;
	    left: 0;
	    top: 6rem;
	    z-index: 2;
	    height: calc(100dvh - 6rem);
	    background: var(--bg);
	    overflow-y: auto;
	    -webkit-overflow-scrolling: touch;
	    opacity: 0;
	    visibility: hidden;
	    pointer-events: none;
	    transition: opacity .3s ease-out, visibility .3s ease-out;
	    padding: 0 2rem 5rem;
	}

	#g-navi.is-open {
	    opacity: 1;
	    visibility: visible;
	    pointer-events: auto;
	}

	#g-navi .g-navi__menu {
		display: block;
	}

	#g-navi .g-navi__menu a {
		padding: 2rem;
	    display: block;
	    width: 100%;
	    text-align: center;
	}

	#g-navi .g-navi__links {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    flex-direction: column;
	    gap: 2.4rem;
	    margin-top: 3rem;
	}

	#g-navi .g-navi__contact {
	    text-align: right;
	}

	#g-navi .g-navi__contact .g-navi__contact--tel {
	    display: flex;
	    align-items: center;
	    gap: .86rem;
	    font-size: 2.8rem;
	    font-weight: 600;
	    line-height: 1.2142857;
	}

	#g-navi .g-navi__contact .g-navi__contact--tel:before {
	    width: 1.58rem;
	    height: 2.327rem;
	    content: '';
	    background: url(../img/common/icon_tel.svg) center center no-repeat;
	    background-size: 100% 100%;
	}

	#g-navi .g-navi__contact .g-navi__contact--notes {
	    margin-top: .6rem;
	    font-size: 1.3rem;
	    line-height: 1.345;
	}

	#g-navi .g-navi__contact .g-navi__contact--notes span {
	    font-weight: 500;
	    margin: 0 .5rem 0 .4rem;
	}

	#g-navi .g-navi__sns {
	    display: flex;
	    align-items: center;
	    gap: .5rem;
	}

	#g-navi .g-navi__sns li {
	    font-size: 1px;
	    line-height: 1;
	    width: 3.8rem;
	}

	#g-navi .g-navi__sns li a {
	    display: block;
	}

	#g-navi .g-navi__sns li a img {
	    width: 100%;
	}


/* !breadcrumb
---------------------------------------------------------- */
	#breadcrumb {
	    padding: 1rem 0;
	}


/* !main Visual
---------------------------------------------------------- */
	#main-visual {
	    height: 40rem;
	}

	#main-visual .main-copy {
	    gap: .5rem;
	    font-size: 2rem;
	}

	#main-visual .main-copy span {
	    font-size: 1.4rem;
	}
	
	#main-visual .main-copy b{
		font-size: 6vw;
	}

	#main-visual .main-menu {
	    transform: translate(0, 50%);
	}

	#main-visual .main-menu .main-menu-swiper {
	    max-width: 20rem;
	}


/* !teaser
---------------------------------------------------------- */
	#teaser {
	    height: 15rem;
	}

	#teaser .teaser-heading .teaser-heading__eng {
	    font-size: 1.4rem;
	}

	#teaser .teaser-heading .teaser-heading__jap {
	    font-size: 2.4rem;
	    margin-top: .5rem;

	}


/* !common-contact
---------------------------------------------------------- */
	.common-contact {
	    padding: 4rem 0;
	}

	.common-contact .common-contact__links {
		flex-direction: column;
	    gap: 2rem;
	}

	.common-contact .common-contact__links a {
	    height: 8rem;
	}

	.common-contact .common-contact__links .links-title {
	    font-size: 2rem;
	}

	.common-contact .common-contact__links .links-notes {
	    font-size: 1rem;
	}

	.common-contact .common-contact__tel {
	    margin-top: 1.5rem;
	}

	.common-contact .common-contact__tel .common-contact__tel--number {
	    gap: .3rem;
	}

	.common-contact .common-contact__tel .common-contact__tel--number span {
	    font-size: 1.2rem;
	    margin-bottom: .4rem;
	}

	.common-contact .common-contact__tel .common-contact__tel--number a {
	    font-size: 2.8rem;
	}

	.common-contact .common-contact__tel .common-contact__tel--notes {
	    margin-top: .3rem;
	    font-size: 1.2rem;
	}

	.common-contact .common-contact__tel .common-contact__tel--notes span {
	    font-size: 1.6rem;
	}

/* !common-clinic
---------------------------------------------------------- */
	.common-clinic {
	    padding: 5rem 0 0;
	}

	.common-clinic .common-clinic__wrap {
		display: block;
	    padding-bottom: 5rem;
	}

	.common-clinic .common-clinic__wrap:before {
		display: none;
	}

	.common-clinic .common-clinic__wrap .common-clinic__wrap--info {
	    width: 100%;
	    padding: 0 0 5rem;
	    position: relative;
	}

	.common-clinic .common-clinic__wrap .common-clinic__wrap--info:before {
	    width: 35rem;
	    height: 33rem;
	    content: '';
	    background: url(../img/common/logo_clinic.png) center center no-repeat;
	    background-size: 100% 100%;
	    position: absolute;
	    right: 20%;
	    bottom: -2rem;
	    z-index: -1;
	}

	.common-clinic .common-clinic__wrap .common-clinic__wrap--gallery {
	    width: 100%;
	    padding: 0;
	    display: block;
	}

	.common-clinic .common-clinic__map {
	    aspect-ratio: 1 / 1;
	}


/* !fixed-button
---------------------------------------------------------- */
	.fixed-button {
	    top: 100%;
	    transform: translateY(-100%);
	    width: 100%;
	}

	.fixed-button ul {
	    display: flex;
	    align-items: center;
	    width: 100%;
	}

	.fixed-button li {
		width: 50%;
	}

	.fixed-button li + li {
	    margin-top: 0;
	}

	.fixed-button a {
	    flex-direction: row;
	    width: 100%;
	    height: 5rem;
	    gap: .5rem;
	}

	.fixed-button a.fixed-button__booking:before,
	.fixed-button a.fixed-button__hours:before {
	    width: 1.842rem;
	    height: 1.842rem;
	    background-size: 100% auto;
	}

/* !footer
---------------------------------------------------------- */
	#footer {
	    padding-bottom: 5rem;
	}

	.footer-inner {
	    padding: 4rem 0;
	}

	.footer-logo a {
	    width: 26rem;
	}

	.footer-address {
	    font-size: 1.2rem;
	    margin-top: 1rem;
	}

	.footer-menu {
		display: block;
	    border-top: .1rem solid var(--black);
	    width: calc(100% + 4rem);
	    margin: 2rem -2rem 0;
	}

	.footer-menu li {
		border-bottom: .1rem solid var(--black);
	}

	.footer-menu li a {
	    font-size: 1.4rem;
	    line-height: 3;
	    display: block;
	    text-align: center;
	}

	.footer-contact {
	    margin-top: 2rem;
	    display: block;
	}

	.footer-contact .footer-contact__links {
		gap: 1rem;
	}

	.footer-contact .footer-contact__links li {
		width: 100%;
		text-align: center;
	}

	.footer-contact .footer-contact__links a {
	    width: 100%;
	    max-width: 30rem;
	    height: 6rem;
	    font-size: 1.6rem;
	    display: inline-flex;
	    background-position: right 1.5rem center;
	    background-size: 1.8rem auto;
	}

	.footer-contact .footer-contact__tel {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-top: 2rem;
	}

	.footer-contact .footer-contact__sns {
	    justify-content: center;
	    gap: .5rem;
	    margin-top: 2rem;
	}

	.footer-contact .footer-contact__sns li {
	    width: 3.8rem;
	}

	#copyright {
	    font-size: 1rem;
	    padding: 1.5rem 2rem;
	}

/* !heading
---------------------------------------------------------- */
	.heading-large {
	    text-align: center;
	    margin-bottom: 2rem;
	}

	.heading-large .heading-large__eng {
	    font-size: 2.5rem;
	}


	.heading-medium {
	    font-size: 1.8rem;
	    padding-left: 1.8rem;
	    border-left: .2rem solid var(--brown);
	    margin-bottom: 1.5rem;
	}

/* !news.html
---------------------------------------------------------- */
	.news-wrap {
	    padding: 2rem 0 5rem;
	}

	.news-list .news-block {
		flex-wrap: wrap;
	    padding: 1.5rem 0;
	}

	.news-list .news-date {
	    min-width: 10rem;
	    font-size: 1.4rem;
	    color: #999999;
	    letter-spacing: .05em;
	    line-height: 2;
	    padding-right: 1rem;
	}

	.news-list .news-cate {
	    min-width: unset;
	    flex-grow: 1;
	    padding-right: 0;
	}

	.news-list .news-cate .news-cate__item {
	    padding: .5rem 1.5rem;
	    font-size: 1.2rem;
	    line-height: 1.5;
	}

	.news-list .news-title {
		width: 100%;
	    font-size: 1.4rem;
	    line-height: 1.5;
	    margin-top: 1rem;
	}

	.wp-pagenavi {
	    margin-top: 3rem;
	}

	.wp-pagenavi span,
	.wp-pagenavi a {
	    width: 3rem;
	    height: 3rem;
	    font-size: 1.4rem;
	    margin: 0 .25rem;
	}

	.news-head {
		margin-bottom: 2rem;
	    padding: 0;
	}

	.news-head .news-cate {
	    gap: 1rem;
	    margin-bottom: 1rem;
	}

	.news-head .news-cate .news-cate__item {
	    font-size: 1.4rem;
	    padding: .4rem 1.5rem;
	}

	.news-head .news-title {
	    font-size: 2rem;
	    margin-bottom: 1rem;
	}

	.news-head .news-date {
	    font-size: 1.4rem;
	}

	.news-body {
	    padding: 2rem;
	    font-size: 1.4rem;
	    line-height: 1.875;
	}

	.news-body .wp-block-group + .wp-block-group {
	    margin-top: 4rem;
	}

	.news-body p + p {
	    margin-top: 1.875em;
	}

	.news-body h2 {
	    font-size: 1.8rem;
	    padding-bottom: 1.5rem;
	    margin-bottom: 2rem;
	}

	.news-body h3 {
	    font-size: 1.6rem;
	    padding: 1rem 2rem;
	    margin-bottom: 2rem;
	}


	.news-ctrl {
	    margin-top: 3.5rem;
	}

	.news-ctrl .news-ctrl__back {
	    width: 15rem;
	    height: 4.5rem;
	    font-size: 1.2rem;
	}

	.news-ctrl .news-ctrl__prev,
	.news-ctrl .news-ctrl__next {
	    font-size: 1.4rem;
	}

/* !case.html
---------------------------------------------------------- */
	.case-wrap {
	    padding: 2rem 0 5rem;
	}

	.case-list {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 3rem;
	}

	.case-list .case-block {
	    padding: 2.5rem 1.5rem;
	}

	.case-related {
	    background-size: 99.4rem auto;
	    padding: 3rem 0 0;
	}

	.case-detail {
	    padding: 2rem 0 3rem;
	}

	.case-detail .case-block {
		display: block;
	}

	.case-detail .case-block .case-image {
	    width: 100%;
	    padding: 0;
	    margin-bottom: 2rem;
	}

	.case-detail .case-block .case-body {
	    width: 100%;
	}

	.case-detail .case-block .case-title {
	    font-size: 1.8rem;
	    padding-bottom: 1.5rem;
	    margin-bottom: 1.5rem;
	}

	.case-detail .case-block .case-desc {
	    margin-bottom: 1.5rem;
	}

	.case-detail .case-block .case-info .case-info__item + .case-info__item {
	    margin-top: 1rem;
	}

	.case-detail .case-block .case-desc p + p {
	    margin-top: 1.875em;
	}

	.case-detail .case-block .case-info .case-info__item {
	    display: block;
	}

	.case-detail .case-block .case-info .case-info-title {
	    line-height: 1.5;
	    padding: .4rem;
	    width: 100%;
	    margin-bottom: .5rem;
	}

	.case-detail .case-block .case-info .case-info-contents {
	    font-size: 1.2rem;
	    line-height: 1.875;
	    padding: 0;
	}

/* !doctor.html
---------------------------------------------------------- */
	.doctor-wrap {
	    padding: 2rem 0 5rem;
	}

	.doctor-profile {
	    width: 100%;
	    display: block;
	}

	.doctor-profile .doctor-profile__image {
	    width: 100%;
	    margin-bottom: 3rem;
	}

	.doctor-profile .doctor-profile__box {
	    width: 100%;
	}

	.doctor-info {
	    padding: 3rem 2rem;
	    line-height: 1.875;
	}

	.doctor-info .doctor-info__item + .doctor-info__item {
	    margin-top: 3rem;
	}

/* !access.html
---------------------------------------------------------- */
	.access-wrap {
	    padding: 2rem 0 10rem;
	}

	.access-area {
		display: block;
	}

	.access-area .access-area__item {
	    width: 100%;
	    padding-left: 6rem;
	}

	.access-area .access-area__item + .access-area__item {
		margin-top: 4rem;
	}

	.access-flow .access-flow__item + .access-flow__item {
	    margin-top: 4rem;
	}

	.access-flow .access-flow__item:not(:last-child):before {
	    width: .3rem;
	    height: calc(100% + 4rem);
	    left: -3.8rem;
	}

	.access-flow .access-flow__item:after {
	    width: 4.5rem;
	    height: 4.5rem;
	    left: -6rem;
	    font-size: 1.8rem;
	}

	.access-flow .text {
	    margin-top: 1.5rem;
	}


/* !menu.html
---------------------------------------------------------- */
	.menu-wrap {
	    padding: 2rem 0 10rem;
	}

	.menu-area .menu-area__item + .menu-area__item {
	    margin-top: 5rem;
	}

	.menu-area .menu-heading {
	    padding-bottom: 1rem;
	    font-size: 1.6rem;
	    margin-bottom: 2.5rem;
	}

	.menu-area .menu-heading:before {
	    width: 10rem;
	}

	.menu-area .menu-heading:after {
	    font-size: 2.4rem;
	}

	.menu-list {
	    gap: 2.3rem;
	}

	.menu-list li {
	    width: 100%;
	}

	.menu-list a {
	    font-size: 1.6rem;
	}

	.menu-top {
	    padding: 2rem 0 6rem;
	}

	.menu-recommended {
	    padding: 5rem 0;
	}

	.recommended-list {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2rem;
	}

	.menu-method {
	    padding: 5rem 0 0;
	}

	.menu-method:before {
		background-repeat: repeat-y;
	    background-size: 89.2115rem auto;
	    height: 100%;
	}

	.method-list .method-list__item {
		display: block;
	}

	.method-list .method-image {
	    width: 100%;
	}

	.method-list .method-box {
	    width: 100%;
	    margin-top: 0rem;
	    padding: 4rem 2rem 3rem;
	}

	.method-list .method-number {
	    font-size: 4.8rem;
	    line-height: 5.8rem;
	    left: 2rem;
	    top: -2.5rem;
	}

	.method-list .method-box .heading-medium {
	    font-size: 1.8rem;
	    margin-bottom: 2rem;
	}

	.menu-overview {
	    padding: 5rem 0 7rem;
	}

	.overview-list {
		display: block;
	}

	.overview-list .overview-list__item {
	    border: .1rem solid #CCCCCC;
	    border-top: 0;
	    display: block;
	}

	.overview-list .overview-list__item:nth-child(2) {
	    border-top: 0;
	}

	.overview-list .overview-list__item:nth-child(even) {
	    border-left: .1rem solid #CCCCCC;
	}

	.overview-list .overview-list__item dt {
	    border-right: 0;
	    border-bottom: .1rem solid #CCCCCC;
	    font-size: 1.4rem;
	    min-height: unset;
	    display: block;
	}

	.overview-list .overview-list__item dd {
	    display: block;
	    font-size: 1.2rem;
	    line-height: 1.5;
	    min-height: unset;
	    padding: 1.6rem;
	}

	.overview-notes {
	    font-size: 1.4rem;
	}

	.menu-flow {
	    padding: 5rem 0;
	}

	.flow-list .flow-list__item + .flow-list__item {
	    margin-top: 4rem;
	}

	.flow-list .flow-list__item {
	    padding: 3rem 2rem;
	    display: block;
	}

	.flow-list .flow-image {
	    max-width: 100%;
	    margin-bottom: 3rem;
	}

	.flow-list .flow-box {
	    width: 100%;
	    padding: 0;
	}

	.menu-case {
	    padding: 5rem 0 0;
	}

	.menu-faq {
	    padding: 5rem 0;
	}

	.faq-list .faq-list__item .faq-question {
	    padding: 1.6rem 2rem;
	    gap: 1rem;
	    font-size: 1.5rem;
	}

	.faq-list .faq-list__item .faq-question:before {
	    font-size: 1.4rem;
	    width: 4rem;
	    height: 4rem;
	    min-width: 4rem;
	}

	.faq-list .faq-list__item .faq-answer {
	    padding: 2rem;
	    min-height: unset;
	    font-size: 1.3rem;
	    line-height: 1.875;
	}


/* !contact.html
---------------------------------------------------------- */
	.contact-wrap {
	    padding: 2rem 0 10rem;
	}

	.contact-wrap .contact-box + .contact-box {
	    margin-top: 3rem;
	}

	.contact-wrap .contact-box {
	    padding: 3rem 2rem;
	}

	.contact-tel {
	    margin-top: 2rem;
	}

	.contact-tel .contact-tel__number {
	    gap: .66rem;
	    font-size: 3.2rem;
	}

	.contact-tel .contact-tel__notes {
	    margin-top: .8rem;
	    font-size: 1.2rem;
	}

	.contact-tel .contact-tel__notes span {
	    font-size: 1.6rem;
	}


	.contact-form {
	    margin-top: 2rem;
	}

	.contact-form .radio-list .wpcf7-radio {
		flex-direction: column;
		align-items: flex-start;
	    gap: 1.5rem;
	}


.top-section {
	    background-size: 99.4rem auto;
	}

	.top-concept {
	    padding: 5rem 0 0;
	}

	.top-concept .concept-title {
	    font-size: 2.4rem;
	    margin-bottom: 3rem;
	}

	.top-concept .concept-text {
	    font-size: 1.2rem;
	    line-height: 2;
	}

	.top-doctor {
	    padding: 5rem 0 6rem;
	}

	.top-doctor-wrap {
	    padding: 0;
	}

	.top-doctor-wrap .doctor-image {
	    width: 100%;
	    position: relative;

	}

	.top-doctor-wrap .doctor-box {
	    padding: 3rem 2rem;
	}

	.top-doctor-wrap .button-area {
	    text-align: center;
	}

	.top-menu {
	    padding: 5rem 0 3rem;
	}

	.top-menu-list {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2.5rem;
	}

	.top-menu-list .menu-block {
	    grid-template-columns: auto 12rem;
	    gap: 1.5rem;
	    min-height: 18rem;
	}

	.top-menu-list .menu-block:after {
	    width: 3.2rem;
	    height: 3.2rem;
	    background-size: 1.2rem auto;
	}

	.top-menu-list .menu-box {
	    border-left: .2rem solid var(--brown);
	    padding-left: 1.4rem;
	}

	.top-menu-list .menu-title {
	    font-size: 1.6rem;
	    margin-bottom: 1rem;
	}

	.top-case {
	    padding: 5rem 0;
	}

	.top-case:before {
	    height: 50rem;
	}

	.button-area {
	    margin-top: 3rem;
	}

	.top-post:before,
	.top-post:after {
	    display: none;
	}

	.top-post .inner {
		display: block;
	}

	.top-news,
	.top-sns {
		position: relative;
		z-index: 2;
	    height: auto;
	    display: block;
	    padding: 5rem 2rem;
	    width: calc(100% + 4rem);
	    margin: 0 -2rem;
	}

	.top-news:before,
	.top-sns:before {
	    width: 100%;
	    height: 100%;
	    top: 0;
	    left: 0;
	    content: '';
	    position: absolute;
	    z-index: -1;
	}

	.top-news:before {
	    background: url(../img/top/bg_news.jpg) center center no-repeat;
	    background-size: cover;
	}

	.top-sns:before {
	    background: url(../img/top/bg_sns.jpg) center center no-repeat;
	    background-size: cover;
	}

	.top-news-list li a {
	    padding: 1.8rem 0;
	}

	.top-news-list .news-date {
	    min-width: 9.8rem;
	}

	.logo-slider li {
	    padding-right: 4.5rem;
	    width: 87.2rem;
	}

	.coming-soon {
	    padding-bottom: 5rem;
	}

	.anchor-area .anchor {
	    top: -6rem;
	}
	
	/* !price
	---------------------------------------------------------- */	
	
	.price-table th,
	.price-table td {
		width: 100%;
		display: block;
	}
	
	.accordion-content {
	    padding: 0 1rem 1rem;
	    margin-top: -1rem;
	    position: relative;
	    z-index: 2;
	}
	
	
	
	
	
	
	
	
}





