@charset "utf-8";

html {
    font-size: 62.5%;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: 0.03rem;
    line-height: 1.8;
    color: var(--font);
    background-color: var(--bg1);
    overflow-x: hidden;
}

/* =ウィンドウ幅確認 */
#winsize2 {
    display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	font-size: 10px;
	z-index: 9999;
	color: #fff;
	background-color: #000;
	padding: 0 2px;
}

.br-sp {
    display: none;
}

/* フォント */
.inter {
    font-family: "Instrument Serif", serif;
    font-weight: 400;
    font-style: normal;
}

.zen {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}



/* 画像の拡大縮小の設定 */
img {
    max-width: 100%;
    height: auto;
}



/* 見出し */
.topic {
    color: var(--topicco);
    font-size: 2.6rem;
    font-weight: 400;
    text-align: center;
    line-height: 1;
    /* margin-top: 200px; */
}

.topic .ja{
    display: block;
    font-size: 100%;
    font-weight: 400;
    letter-spacing: normal;
}

.topic .en{
    display: block;
    font-size: 300%;
    font-weight: 400;
    letter-spacing: 0.18em;
}

section {
    padding: 10em 0;
}

#faq .topic .ja{
    margin-left: -1em;
}


.wrap {
    max-width: 1280px;
    margin: 0 auto;
}

@media screen and (max-width: 1280px) {
    .wrap {
        padding: 0 4%;
    }
}

@media screen and (max-width: 768px) {
    section {
        padding: 6em 0;

    }

    .topic {
        font-size: 2.0rem;
    }

}

@media screen and (max-width: 511px) {
    body {
        font-size: 1.4rem;
    }

    section {
        padding: 4em 0;
    }

    .topic .en {
        font-size: 200%;
    }


}


/* ヘッター */
header#top {
    /* 配置 */
    position: fixed;
    top: 2em;
    left: 0;
    right: 0;
    z-index: 4;
    margin: auto;

    /* デザイン */
    max-width: 1280px;
    border-radius: 9999px;
    background-color: #FFFFFF;
    padding: 1.5em 3em;
    box-shadow: 0 0 4px rgba(0,0,0,0.1);

    /* 中の配置 */
    display: flex;
    align-items: center;
    justify-content: space-between;

    /* アニメーション */
    transition: 0.5s;
    transform: translateY(0);
}

header#top.hide{
    transform: translateY(calc(-100% - 2em));
}

.header__logo {
    width: 300px;
}

.nav {
    margin-left: auto;
}

.nav__header {
    display: none;
}

.header__btn {
    display: none;
}

.toggle-icon {
    display: block;
    margin-left: 8px;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--topicco);
    border-right: 2px solid var(--topicco);
    transform: rotate(135deg);
}

.nav__item {
    margin-left: 35px;
}

.nav__item:first-of-type {
    margin-left: 0;
}

.nav__item a{
    display: flex;
    align-items: center;
}

.nav__item.nest {
    position: relative;
}

.nav__sublist {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 3;
    width: 12em;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: all 0.3s ease;
    display: block;
    background-color: #FFFFFF;
    padding: 1em;
    margin: 0;
    border-radius: 8px;
    border: 1px solid var(--topicco);
}

.nest:hover .nav__sublist {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.nav__subitem {
    margin: 10px 0;
}

.nav__list {
    display: flex;
}

/* ヘッダーsp */
@media screen and (max-width: 1280px){
    header#top {
        width: 96%;
    }
}

@media screen and (max-width: 960px) {
    .header__logo {
        width: 256px;
    }

    /* ハンバーガーメニュー */
    .header__btn {
        position: relative;
        z-index: 100;
        display: block;
        width: 40px;
        height: 48px;
        cursor: pointer;
        background-color: transparent;
    }

    .header__btn span {
        background-color: var(--topicco);
        transition: all .5s;
        position: absolute;
        left: 0;
        height: 3px;
        width: 40px;
        transform-origin: center;
    }

    .header__btn span:nth-of-type(1) {
        top: 5px;
    }
    .header__btn span:nth-of-type(2) {
        top: 20px;
    }

    .header__btn span:nth-of-type(3),
    .header__btn span:nth-of-type(4) {
        top: 30px;
        height: auto;
        background-color: transparent;  /* 透明という意味 */
        font-size: 8px;
        text-align: center;
        color: var(--topicco);
    }

    .header__btn span:nth-of-type(4) {
	    display: none;
    }   /* 閉じるの文字を消す */

    /* 閉じるボタン */
    .header__btn.active span:nth-of-type(1) {
        width: 32px;
        top: 16px;
        left: 4px;
        transform: rotate(45deg);
    }
    .header__btn.active span:nth-of-type(2) {
        width: 32px;
        top: 16px;
        left: 4px;
        transform: rotate(-45deg);
    }
    .header__btn.active span:nth-of-type(3) {
        display: none;
    }   /* メニューの文字を消す */

    .header__btn.active span:nth-of-type(4) {
        display: block;
    }

    /* ナビ */
    .nav {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 6;
        width: 100%;
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 40px;
        
        /* アニメーションの為 display:noneはしない */
        visibility: hidden;
        opacity: 0;
        transform: translateY(80px);
        transition: all 0.5s linear;
        pointer-events: none;
    }
    
    .nav.active {
        /* アニメーション */
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .circle-bg {
        position: fixed;
        z-index: 5;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: var(--bg2);
        transform: scale(0);
        transform-origin: center center;
        top: 40px;
        right: 40px;
        transition: all 1s linear;
    }

    .circle-bg.active {
        transform: scale(100);
    }

    .nav__header {
        display: block;
        margin-top: 100px;
    }
    .nav__header img {
        width: 350px;
    }

    .nav__list {
        display: block;
        width: 60%;
    }

    .nav__item {
        margin-left: 0;
    }

    .nav__item a{
        display: flex;
        align-items: center;
        color: var(--font2);
        border-bottom: 1px solid var(--font2);
        padding: 20px 0;
        font-size: 110%;
    }

    .nav__item.nest a {
        border-bottom: none;
        padding-bottom: 0;
    }

    .toggle-icon {
        display: none;
    }

    .nav__sublist {
        position: inherit;   /* 解除という意味 */
        width: auto;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        transition: none;
        display: block;
        background-color: transparent;
        padding: 0 0 10px;
        border-radius: 0;
        border: none;
        border-bottom: 1px solid var(--font2);
    }

    .nav__subitem a {
        border-bottom: none;
        padding: 0;
        margin: 10px 0 0 20px;
    }

    .nav__subitem a::before {
        content: '';
        width: 20px;
        height: 1px;
        background-color: var(--font2);
        margin-right: 10px;
    }
    
}

@media screen and (max-width: 428px) {
    header#top {
        padding: 1.5em 2em;
    }

    .header__logo {
        width: 200px;
    }

    .nav__header img {
        width: 256px;
    }

    .nav__item a{
        padding: 15px 0;
        font-size: 110%;
    }

    .nav__subitem a {
        padding: 0;
        margin: 5px 0 0 20px;
    }

    .nav__header {
        display: block;
        margin-top: 60px;
    }

}




/* メインビジュアル */
.mainVisual {
    padding-top: 160px;
    overflow: hidden;
}

.mainVisual .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mainVisual__logo {
    width: 28%;
    position: relative;
}

.mainVisual__logo::before,
.mainVisual__logo::after {
    display: block;
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    aspect-ratio: 1/1;
    border: 2px dashed var(--topicco);
    content: '';
}

.mainVisual__logo::before {
    width: 220px;
    top: 40px;
    left: -80px;
}

.mainVisual__logo::after {
    width: 160px;
    bottom: 0;
    right: -30px;
}

.mainVisual__logo-pc {
    display: block;
    margin: 0 auto;
}

.mainVisual__logo-sp {
    display: none;
}

.mainVisual_slick {
    width: 72%;
	padding-right: 3%;
	background-image: url(../image/meinVisual_sublogo.svg);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 3% auto;
}

.mainVisual_slick img {
    display: block;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 3/2;
    border-radius: 0 80px 0 80px;
    width: 100%;
}

.mainVisual__list{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -40px;
    padding: 4em 0;
}

.mainVisual__list::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 100%;
    width: 80%;
    content: '';
    border-radius: 0 9999px 9999px 0;
    background-color: var(--bg2);
}

.mainVisual__item {
    margin-top: 30px;
    padding-right: 3em;
    margin-right: 3em;
    position: relative;
    gap: 15px;
    display: flex;
    align-items: center;
    font-size: 130%;
}

.mainVisual__item img {
    height: 40px;
    width: auto;
}

.mainVisual__item:last-child {
    margin-right: 0;
    padding-right: 0;
}

.mainVisual__item:last-child::after {
    display: none;
}

.mainVisual__item::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: block;
    content: '';
    width: 2px;
    height: 80%;
    background-color: #FFFFFF;
    flex-shrink: 0;   /* 境界線が潰れないようにするためのもの。 */
}

/* メインビジュアルsp */
@media screen and (max-width: 1298px) {
    .mainVisual__list::after {
        height: 100%;
        width: 90%;
    }

}


@media screen and (max-width: 960px) {
    .mainVisual .wrap {
        display: block;
    }
    
    .mainVisual__logo {
        width: auto;
    }

    .mainVisual__logo-pc {
        display: none;
    }
    
    .mainVisual__logo-sp {
        display: block;
        margin: 0 0 2em 2em;
        width: 64%;
    }

    .mainVisual__logo::before {
        width: 220px;
        top: 40px;
        left: -80px;
    }
    
    .mainVisual__logo::after {
        width: 180px;
        bottom: 0px;
        right: -40px;
    }
    
    .mainVisual_slick {
        width: auto;
        padding-right: 4%;
        background-image: url(../image/meinVisual_sublogo.svg);
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 3% auto;
    }

    .mainVisual__list {
        top: -40px;
        padding: 3em 0;
    }

    .mainVisual__list::after {
        width: 90%;
    }

    .mainVisual__item {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding-right: 2em;
        margin-right: 2em;
        font-size: 110%;
    }

    .mainVisual__item img {
        height: 32px;
        width: auto;
    }

}

@media screen and (max-width: 617px) {
    .mainVisual__list::after {
        width: 95%;
    }
}

@media screen and (max-width: 502px) {
    .mainVisual__item img {
        height: 24px;
    }

    .mainVisual__item {
        font-size: 80%;
    }

    .mainVisual__list::after {
        width: 90%;
    }

    .mainVisual_slick img {
        border-radius: 0 40px 0 40px;
    }

    @media screen and (max-width: 392px) {
        .mainVisual__item img {
            height: 20px;
        }

        .mainVisual__item {
            font-size: 65%;
        }
    }
}





/* お知らせ */

#news {
    padding-bottom: 100px;
}
#news .wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 2em;
}
#news h2 {
	width: 30%;
	margin: 0;
}
.newsList {
	width: 70%;
	overflow-y: auto;
	max-height: 40vh;
	background-color: #fff;
	padding: 2em 3em;
	border-radius: 30px;
}
.newsList ul {
}
.newsList ul li {
	padding: 2em 0;
	border-bottom: 1px dashed var(--grayLowColor);
}
.newsList ul li:last-child {
	border-bottom: none;
}
.newsList ul li dl {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 1em;
}
.newsList ul li dl dt {
	padding-top: 0.2em;
}
.newsList ul li dl dt time {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-weight: 400;
	background-color: #aaa;
	color: #fff;
	padding: 0.2em 1em;
	border-radius: 9999px;
}
.newsList ul li dl dd {

}
.newsList ul li dl dd .post-title {
	display: block;
	color: var(--font2);
	font-size: 120%;
	font-weight: 600;
	margin-bottom: 1em;
}


@media only screen and (max-width: 960px){
#news {
    padding-bottom: 60px;
}

#news .wrap {
	display: block;
}
#news h2 {
	width: auto;
	text-align: center;
	margin: 0 auto 2em;
}
.newsList {
	width: auto;
	max-height: auto;
}


}
@media only screen and (max-width: 428px){

.newsList ul li dl {
	display: block;
}
.newsList ul li dl dt {
	padding-top: 0;
}
.newsList ul li dl dd .post-title {
    margin: 10px 0;
}
.newsList ul li dl dd .post-content {
	font-size: 100%;
}

}






/* 当院の特徴 */
.feature__number {
    position: relative;
    z-index: 3;
}

.feature__number img {
    width: 150px;
}

.feature__image {
    position: relative;
}
.feature__image::after{
    position: absolute;
    content: '';
    top: 10px;
    right: -10px;
    background-color: var(--topicco);
    width: 105%;
    height: 100%;
    border-radius: 30px;
    z-index: 0;
    transform: rotate(5deg);
}

.feature__image img{
    margin-top: -40px;
    max-width: 500px;
    width: 100%;
    border-radius: 30px;
    display: block;
    position: relative;
    z-index: 2;
}

.feature__2 .feature__image::after {
    background-color: var(--pointco);
}

/* 小見出し */
.feature__topic {
    font-size: 2rem;
    color: var(--font2);
    font-weight: 900;
    margin: 20px 0 30px;
    text-align: center;
    position: relative;

}

.feature__topic::after {
    position: absolute;
    bottom: -15px;
    right: 0;
    left: 0;
    margin: auto;
    content: '';
    width: 40px;
    height: 4px;
    background-color: var(--topicco);
}

.feature__text {
    max-width: 400px;
}

.feature__to-te {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 23px;
}

.feature__1-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 102px;

}


.feature__2 {
    margin-top: 150px;
}

/* 当院の特徴pc */
@media screen and (max-width: 769px) {
    #about {
        padding-bottom: 2em;
    }

    .feature__1-2 {
        display: block;
    }

    .feature__image img {
        max-width: inherit;
    }

    .feature__number img {
        width: 120px;
    }

    .feature__1,
    .feature__2 {
        margin: 4em 8%;
    }
}

@media screen and (max-width: 344px) {
    .feature__topic {
        font-size: 1.8rem;
        font-weight: 900;
    
    }
}




/* 診療内容 */
#treatment {
    position: relative;
    background-color: var(--bg2);
    padding-top: 200px;
    padding-bottom: 200px;
}

#treatment::before {
    background-image: url(../image/treatment_bg.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 101% auto;
    background-color: var(--bg1);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1920 / 103;
    width: 100%;
}

#treatment::after {
    background-image: url(../image/treatment_bg2.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 101% auto;
    background-color: var(--bg1);
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    aspect-ratio: 1920 / 103;
    width: 100%;
}

.treatment__topic {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 100px 0 0 0;
}

.treatment__title {
    font-size: 3rem;
    color: #FFFFFF;
    width: 340px;
    height: 104px;
    font-weight: 300;
    background-color: var(--topicco);
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.18em;
    border-radius: 80px;
}

/* 診療科目 */
.department__list {
    width: calc(80% - 60px);
    max-width: 900px;
    margin: 0 auto;
    margin-top: 60px;
}

.department__item:nth-child(even) {
    margin-top: 30px;
}

.department__item img {
    margin: 0 auto;
}

.department__item {
    padding: 0 20px;
}

.department__list .slick-prev,
.department__list .slick-next {
    z-index: 10;
    width: 35px;
    height: 67px;
}

.department__list .slick-prev::before,
.department__list .slick-next::before {
    content: "";
    display: block;
    width: 35px;
    height: 67px;
    opacity: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.department__list .slick-prev::before {
    background-image: url("../image/key_1.svg");
}

.department__list .slick-next::before {
    background-image: url("../image/key_2.svg");
}

.department__list .slick-prev {
    left: -10%;
    top: 50%;
    transform: translateY(-50%);
}

.department__list .slick-next {
    right: -10%;
    top: 50%;
    transform: translateY(-50%);
}

.department__list .slick-dots li button:before {
    font-size: 12px;
    color: var(--font2);
    opacity: 0.4;
    margin-top: 60px;
}

.department__list .slick-dots li.slick-active button:before {
    opacity: 1;
}

.others__item {
    font-size: 24px;
    color: var(--font2);
    margin-right: 30px;
}

.others__item::after {
    content: '・';
    font-size: 30px;
    margin-left: 30px;
}

.others__item:last-of-type::after {
    display: none;
}

.others__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 900px;
    margin: 0 auto;
}

.others__title {
    font-size: 30px;
    color: var(--font2);
    text-align: center;
    justify-content: center;
    padding-top: 65px;
    border-bottom: 2px solid var(--font2);
    width: fit-content;
    margin: 0 auto 30px;
}

.others {
    display: block;
    margin: 0 auto;
    margin-top: 65px;
}


/* 受付時間 */
.reseption_hours-image {
    max-width: 1180px;
	padding: 45px 71px;
	margin: 60px auto 0;
	background-color: #fff;
	border-radius: 40px;
}

.reseption_hours-image img{
    display: block;
    margin: 0 auto;
    width: 100%;
}

.reseption_hours-image .img__sp {
    display: none;
}

.asterisk__block{
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.asterisk__item {
    margin-top: 15px;
    display: flex;
}

.asterisk__icon {
    color: var(--font2);
}

.asterisk__item:first-of-type {
    margin-top: 0;
}

.asterisk__icon {
    margin-right: 4px;
}

.doctor_schedule-images {
    padding: 3em;
    margin: 60px auto 0;
    max-width: 925px;
    background-color: #FFFFFF;
    border-radius: 40px;
}

.doctor_schedule-images img {
    display: block;
    margin: 0 auto;
    width: 100%;
}

/* 診療内容pc */
@media screen and (max-width: 900px) {
    .department__list {
        margin: 40px 15% 0;
        width: auto;
    }

    .department__list .slick-prev::before,
    .department__list .slick-next::before {
        width: auto;
        height: 40px;
    }

    .department__list .slick-prev {
        left: -16%;
    }

    .department__list .slick-next {
        right: -16%;
    }

    .department__item {
        padding: 0 10px;
    }

    .department__item:nth-child(even) {
        margin-top: 0;
    }  /* evenは偶数 */
}

@media screen and (max-width: 768px) {
    #treatment {
        padding: 100px 0;
    }

    .treatment__title {
        font-size: 2rem;
        padding: 0.75em 3em;
        width: auto;
        height: auto;
    }

    .others__item {
        font-size: 19px;
        margin-right: 15px;
    }

    .others__item::after {
        font-size: 19px;
        margin-left: 15px;
    }

    .others__title {
        font-size: 25px;
        margin: 0 auto 15px;
        padding-top: 40px;
    }

    .department__list .slick-dots li button:before {
        margin-top: 30px;
    }

    .reseption_hours-image {
        padding: 25px 30px;
        margin-top: 30px;
        border-radius: 20px;
    }

    .asterisk__block{
        margin-top: 30px;
    }

    .asterisk__item {
        margin-top: 0px;
        font-size: 90%;
    }
    
    .doctor_schedule-images {
        padding: 1.5em;
        margin-top: 30px;
        border-radius: 20px;
    }
}

@media screen and (max-width: 600px) {
    .reseption_hours-image {
        padding: 30px 20px;
    }

    .reseption_hours-image img{
        display: none;
    }

    .reseption_hours-image .img__sp {
        display: block;
        margin: 0 auto;
        width: 90%;
    }
}

@media screen and (max-width: 511px) {
    #subject .treatment__topic {
        padding: 50px 0 0 0;
    }

}

@media screen and (max-width: 428px) {
    .others__item {
        font-size: 15px;
        margin-right: 13px;
    }

    .others__item::after {
        font-size: 15px;
        margin-left: 13px;
    }

    .others__title {
        font-size: 22px;
        margin: 0 auto 15px;
        padding-top: 35px;
    }

    .department__list .slick-dots li button:before {
        font-size: 9px;
    }
}





/* 医師紹介 */
.content__topic-text {
    color: var(--topicco);
}
.name__block {
    display: flex;
    align-items: center;
}

.name__ja {
    margin-right: 35px;
    color: var(--topicco);
    font-size: 3.5rem;
    font-weight: 700;
}

.name__en {
    color: var(--topicco);
    font-size: 2.5rem;
    font-weight: 500;
}

.doctor__content-2 .content__topic-text {
    color: var(--pointco);
}

.doctor__content-2 .name__ja {
    color: var(--pointco);
}

.doctor__content-2 .name__en {
    color: var(--pointco);
}

.plofile__item {
    text-indent: -1em;
    padding-left: 1em;
}
.plofile__item::before {
    content: '・';
}

.plofile__block {
    width: 40%;
}

.greeting__title {
    font-size: 3rem;
    color: #FFFFFF;
    letter-spacing: 0.18em;
}

.greeting__text {
    margin-top: 15px;
    color: #FFFFFF;
}

.greeting__block {
    padding: 40px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60%;
    background-color: var(--topicco);
    border-radius: 30px;
}

.plofile__greeting {
    display: flex;
    gap: 64px;
    margin: 45px;
}

.doctor__content-2 .greeting__block {
    background-color: var(--pointco);
}

.doctor__content {
    background-image: url(../image/doctorlogo_1.svg);
    background-repeat: no-repeat;
    background-position: right 20px top;
    background-size: 450px auto;
    background-color: #FFFFFF;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 80px auto 40px;
    padding: 70px 50px 32px 70px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.doctor__content-2 {
    background-image: url(../image/doctorlogo_2.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 450px auto;
    background-color: #FFFFFF;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 70px 50px 32px 70px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.contact__topic {
    align-self: flex-start;
}

@media screen and (max-width: 900px) {
    #doctor .topic {
        margin: 0 0 4em;
    }

    .plofile__greeting {
        display: block;
        margin: 45px;
    }

    .doctor__content {
        display: block;
        background-position: right bottom;
        background-size: 80% auto;
        margin: 4em auto;
        padding: 4em 2em;
    }

    .doctor__content-2 {
        display: block;
        background-position: left bottom;
        background-size: 80% auto;
        margin: 4em auto;
        padding: 4em 2em;
    }

    .contact__topic {
        width: fit-content;
        margin: 0 auto;
    }

    .plofile__greeting {
        display: block;
        margin: 2em;
    }

    .plofile__block {
        width: auto;
        margin-bottom: 3em;
    }

    .greeting__block {
        width: auto;
        padding: 2em 2em 4em;
    }

    .doctor__content {
        background-position: right bottom;
        background-size: 400px auto;
    }

    .doctor__content-2 {
        background-position: left bottom;
        background-size: 400px auto;
    }
    
}

@media screen and (max-width: 511px) {
    #doctor .topic {
        margin: 0 0 2em;
    }

    .doctor__content {
        margin: 40px auto 20px;
    }

    .doctor__content-2 {
        margin: 0 auto;
    }
}

@media screen and (max-width: 502px) {
    .name__ja {
        font-size: 2.8rem;
    }

    .name__en {
        font-size: 1.8rem;
    }

    .content__topic-text {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 450px) {
    .greeting__title {
        font-size: 2em;
    }

    .greeting__text {
        margin-top: 5px;
    }

    .plofile__greeting {
        margin: 2em 0 0;
    }

    .greeting__block {
        padding: 1em 2em;
        width: auto;
        border-radius: 20px;
    }
    
}

@media screen and (max-width: 406px) {
    .name__ja {
        font-size: 2.4rem;
        margin-right: 20px;
    }

    .name__en {
        font-size: 1.4rem;
    }

    .content__topic-text {
        font-size: 1rem;
    }

}

@media screen and (max-width: 341px) {
    .name__ja {
        font-size: 2.3rem;
        margin-right: 15px;
    }

    .name__en {
        font-size: 1.3rem;
    }
}


/* スライド */
.slickwrap {
    background-image: url(../image/Nishiguchi.svg), url(../image/Ladies.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: left top, right bottom;
    background-size: 100% auto, 100% auto;
    padding: 7% 0;
    margin-bottom: 10em;
}

.slick__item img {
    border-radius: 30px;
}

.slick__item {
    margin: 0 15px;
}

/* スライドsp */
@media screen and (max-width: 900px) {
    .slickwrap {
        background-size: 115% auto, 115% auto;
        padding: 8% 0;
    }
}

@media screen and (max-width: 768px) {
    .slick__item img {
        border-radius: 20px;
    }  

}

@media screen and (max-width: 511px) {
    .slickwrap {
        margin-bottom: 4em;
    }

    .slick__item {
        margin: 0 10px;
    }
}

@media screen and (max-width: 399px) {
    .slick__item img {
        border-radius: 15px;
    }

    .slickwrap {
        background-size: 120% auto, 120% auto;
        padding: 9% 0;
    }

}






/* 駐車場案内 */
#parking {
    position: relative;
}

#parking::after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;/* 重なり */
    height: 100%;
    width: 80%;
    background-color: var(--bg2);
    border-radius: 50px 0 0 50px;
    content: '';
}

.tab__list {
    display: flex;
    justify-content: center;
    align-content: center;
    margin-top: 100px;
}

.tab__item a {
    display: block;
    padding: 1.5em 6em;
    background-color: #C4C4C4;
    color: #FFFFFF;
    position: relative;
}

.tab__item a.selected {
    background-color: var(--topicco);
}

.tab__item:nth-child(1) a {
    border-radius: 30px 0 0 0;
}

.tab__item:nth-child(3) a {
    border-radius: 0 30px 0 0;
}

.tab__item a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    display: block;
    height: 80%;
    width: 2px;
    content: '';
    background-color: #FFFFFF;
}

.tab__item:nth-child(3) a::after {
    display: none;
}

.panel {
    background-color: #FFFFFF;
    padding: 4em;
    border-radius: 30px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.panel section{
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.panel__topic {
    width: 100%;
    font-size: 3rem;
    color: var(--font2);
    text-align: center;
}

.panel__content {
    flex: 1;
}

.panel__map {
    flex: 1;
}

.panel__map iframe {
    height: 100%;
    width: 100%;
}

.panel__layout {
    background-color: var(--bg1);
    margin-top: 20px;
}

.br-sp {
    display: none;
}

/* 駐車場案内pc */
@media screen and (max-width: 900px) {
    .tab__item a {
        padding: 1.5em 4.5em;
        text-align: center;
        line-height: 1.5;
    }
}

@media screen and (max-width: 768px) {
    #parking .topic {
        margin-bottom: 4em;
    }

    .tab__list {
        margin-top: 50px;
    }

    .tab__item a {
        padding: 1em 4em;
    }
    
    .tab__item a::after {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 0;
        display: block;
        height: 70%;
        width: 2px;
        content: '';
        background-color: #FFFFFF;
    }

    .br-sp {
        display: block;
    }  

    .panel {
        padding: 2em 2em 3em;
    }

    .panel__topic {
        font-size: 2rem;
        margin-bottom: 20px;
    }

    .panel section {
        display: block;
    }

    .panel__content {
        margin-bottom: 20px;
    }

    .panel__map iframe {
        height: 320px;
        width: 100%;
    }
}

@media screen and (max-width: 610px) {
    .tab__item a {
        padding: 1em 3em;
    }
}

@media screen and (max-width: 511px) {
    #parking .topic {
        margin-bottom: 2em;
    }

    .tab__item a {
        padding: 1em 2.5em;
    }

    
}

@media screen and (max-width: 468px) {
    .tab__item a {
        padding: 1em 2.5em;
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 405px) {
    .tab__item a {
        padding: 1em 2em;
    }
}

@media screen and (max-width: 347px) {
    .tab__item a {
        padding: 1em 2em;
        font-size: 1.1rem;
    }
}




/* よくある質問 */
#faq {
    max-width: 830px;
    margin: 0 auto;
}

.faq__question {
    display: flex;
    font-size: 2rem;
    font-weight: 400;
    color: var(--font2);
    margin-bottom: 20px;
    border-bottom: 1px solid #D8C6C6;
    position: relative;
    padding-right: 40px;
    padding-bottom: 10px;
}

.faq__question::after {
	position: absolute;
	top: 3px;
	/* bottom: 0; */
	right: 0;
	/* margin: auto; */
	line-height: 40px;
	height: 40px;
	width: 40px;
	text-align: center;
	content: "＋";
	color: var(--font2);
	transition: transform 0.1s;
}

.faq__question.over::after {
	transform: rotate(45deg);
}

.question__icon {
    font-size: 3rem;
    font-weight: 700;
    margin: -0.3em 0.5em 0 0;
}

.q__text {
    padding-top: 0.4em;
}

.faq__answer {
    display: none;
    margin: 0 1em 40px;
}

.faq__answer p {
    display: flex;
}

.answer__icon {
    font-size: 2rem;
    font-weight: 400;
    margin-right: 0.5em;
    margin-top: -0.2em;
}

.answer__text a {
    text-decoration: underline;
    color: var(--font2);
}

.faq__list {
    margin: 100px auto 0;
}

.faq__item {
    margin-top: 0;
}

.faq__item:first-of-type {
    margin-top: 0;
}

/* よくある質問pc */
@media screen and (max-width: 830px) {
    #faq {
        padding: 4em 4%;
    }

    #faq .topic {
        margin: 3em 0 4em;
    }

@media screen and (max-width: 627px) {

}

@media screen and (max-width: 511px) {
    #faq .topic {
        margin: 3em 0 2em;
    }

    .faq__list {
        margin: 0 auto;
    }
}

@media screen and (max-width: 428px) {
    #faq .topic {
        margin: 2em 0 1em;
    }

    .faq__question {
        font-size: 1.75rem;
    }

    }
}




/* フッター */
.footer {
    background-color: var(--bg2);
    padding: 100px 0 10px;
    position: relative;
}

.footer::before {
    background-image: url(../image/treatment_bg.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 101% auto;
    background-color: var(--bg1);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1920 / 103;
    width: 100%;
}

.footer__logo {
    max-width: 399px;
}

.contact__topic-sp {
    display: none;
}

.tel__text {
    font-size: 3rem;
    line-height: 1;
}

.footer__tel a{
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
}

.footer__tel img,
.footer__address img {
    width: 30px;
}

.footer__address {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
}

.footer__info {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

.footer__info span {
    background-color: var(--pointco);
    padding: 9px 18px;
    border-radius: 40px;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: keep-all;
}

.footer__content {
    display: block;
}

.footer__block {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 95px;
}

.menu__item {
    margin-left: 30px;
    color: var(--font2);
}

.menu__item:first-of-type {
    margin-left: 0;
}

.menu__list {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 70px;
}

.footer__map iframe {
    border-radius: 30px;
    width: 100%;
    margin: 0 auto;
    vertical-align: bottom;
    aspect-ratio: 4 / 3;
}

.contact {
    padding: 0;
    margin: 0 30px;
}

.copy {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 70px;
}

.pagetop {
	position: fixed;
	bottom: 1em;
	right: 2em;
	z-index: 3;
}

.pagetop a {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #fff;
	border: 2px solid var(--topicco);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.pagetop a span {
	display: block;
	margin-top: 8px;
	width: 12px;
	height: 12px;
	border-top: 2px solid var(--topicco);
	border-left: 2px solid var(--topicco);
	transform: rotate(45deg);
}

/* フッターpc */
@media screen and (max-width: 960px) {
   .footer__block {
        display: block;
   } 

   .footer__content {
        width: fit-content;
        margin: 0 auto 4em;
   }

    .contact__topic-sp {
        display: block;
        font-size: 20px;
        color: var(--topicco);
        margin: 45px auto 5px;
        text-align: center;
   }

   .footer__tel a{
        gap: 10px;
        margin-top: 0;
    }

    .tel__text {
        font-size: clamp(2.6rem, 9vw , 4rem);
        line-height: 1;
    }

    .footer__address {
        gap: 10px;
        margin-top: 20px;
    }

    .address__text .br-sp {
        display: inline;
    }

    .address__text {
        line-height: 1.5;
    }

    .menu__list {
        flex-wrap: wrap;
        font-size: 90%;
    }

    .footer__map iframe {
        border-radius: 20px;
    }

    .footer__info {
        gap: 5px;
        margin-top: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }
    


}

@media screen and (max-width: 392px) {
    .menu__list {
        display: block;
        width: 80%;
        margin: 70px auto 0;
    }

    .menu__item {
        margin-top: 10px;
        margin-left: 0;
        color: var(--font2);
        font-size: 1.6rem;
        border-bottom: 1px solid var(--font2);
        padding-bottom: 10px;
    }

}

@media screen and (max-width: 364px) {
    .menu__list {
        font-size: 12px;
    }
    
}

/*　メモ
・フォントサイズ
    30px=1.8rem
    85px=2.6rem
    25px=1.5rem
    35px=2.1rem

・フォントの太さ
    regular=400
    Medium=500
    Bold=700

・ aタグある時はaタグも入れないとダメ
 */


/* 写真のトリミング
・1280 960 
・w 960 h 640
*/


/* メディアクエリ
・sp、タブレット、pcと分けてやれば大丈夫。
・数値はその都度変わるからこまめにチェック。
*/
