@charset "UTF-8";
/* CSS Document */

:root{
    --accent-color: #efbf65;
    --f12: 12px;
    --f18: 18px;
    --f30: 30px;
    --f34: 34px;
    --f38: 38px;
    --f50: 50px;
    --f60: 60px;
    --f64: 64px;
    --f70: 70px;
}

body{
    font-family: "Noto Sans JP", sans-serif;
}

@media(max-width:1240px){
    :root{
    --f12: 0.97vw;
    --f18: 1.45vw;
    --f30: 2.42vw;
    --f34: 2.74vw;
    --f38: 3.06vw;
    --f50: 4.03vw;
    --f60: 4.84vw;
    --f64: 5.16vw;
    --f70: 5.65vw;
}

html{
    font-size: 1.29vw;
}
}

@media(max-width:767px){
    :root{
    --f12: 12px;
    --f18: 18px;
    --f22: clamp(14px,2.87vw,22px);
    --f24: clamp(14px,3.13vw,24px);
    --f26: clamp(14px,3.39vw,26px);
    --f30: clamp(16px,3.91vw,30px);
    --f32: clamp(16px,4.17vw,32px);
    --f34: clamp(16px,4.43vw,34px);
    --f38: clamp(16px,4.95vw,38px);
    --f40: clamp(16px,5.22vw,40px);
    --f50: clamp(16px,6.52vw,50px);
    --f60: clamp(16px,7.82vw,60px);
    --f64: clamp(16px,8.34vw,64px);
    --f70: clamp(16px,9.13vw,70px);
    }

    html{
    font-size: 16px;
}
}

p{
    color: #;
}

img{
    width: 100%;
}

li > ul, li > ol{
    margin: 0;
}

.certifiedDr-pc{
    display: block;
}

.certifiedDr-sp{
    display: none;
}

#content:has(#certified_doctor){
    margin: 0;
    max-width: 100%;
}

.certifiedDr-content{
    width: 95%;
    max-width: 1240px;
    margin: 0 auto;
}

.certifiedDr-flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.NotoSerif{
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
}

@media(max-width:767px){
    .certifiedDr-flex{
        flex-direction: column;
    }

    .pc{
        display: none;
    }

    .sp{
        display: block;
    }
}

/* certifiedDr-titledeco */

.certifiedDr-titledeco{
    font-size: var(--f50);
    text-align: center;
    line-height: 1.4;
}

.certifiedDr-titledeco p{
    margin:1.5rem auto 2rem;
    color: var(--accent-color);
}

.certifiedDr-titledeco h3{
    margin:0 auto 1.5rem;
    color: var(--accent-color);
}

.certifiedDr-deco{
    width: 284px;
    margin: 0 auto;
}

.certifiedDr-border {
  width: 100%;
  height: 6.79px;
}

.certifiedDr-border svg{
  width: 100%;
    height: 100%;
   object-fit: fill;
   display: block;
}

.certifiedDr-title{
    color: var(--accent-color);
    font-size: var(--f50);
}

.title_sub-18{
    font-size: var(--f18);
}

.title_sub-34{
    font-size: var(--f34);
}

.title_sub-38{
    font-size: var(--f38);
}

.title_accent-60{
    font-size: var(--f60);
}

.title_accent-70{
    font-size: var(--f70);
}


/* -----------------------

fv

-----------------------*/
#certifiedDr-fv{
    background: url(../images/certified/fv_bg.jpg) no-repeat center top;
    background-size: cover;
    padding: 120px 0;
}

#certifiedDr-fv h2{
    margin-left: var(--f64);
}

#certifiedDr-fv .certifiedDr-img{
    max-width: 44%;
    margin-right: var(--f64);
    margin-top: 94px;
}

@media(max-width:767px){

    #certifiedDr-fv{
    background: url(../images/certified/fv_bg-sp.jpg) no-repeat center top;
    background-size: cover;
    padding: 58px 0 105px;
}

#certifiedDr-fv h2{
    text-align: center;
    margin: 60px auto;
}

#certifiedDr-fv .certifiedDr-img{
    width: 72%;
    max-width: 555px;
    margin: 0 auto;
}

}

/* -----------------------

点滴療法研究会認定医制度とは 

-----------------------*/

#certifiedDr-about{
    background: url(../images/certified/certifiedDr_bg.jpg) no-repeat center top;
    background-size: cover;
    padding: 110px 0 158px;
    font-size:var(--f18);
    font-weight: 400;
}

#certifiedDr-about .certifiedDr-flex{
    gap: 2.5rem;
    letter-spacing: 0.02em;
}

#certifiedDr-about .certifiedDr-img{
    width: 70%;
    max-width: 388px;
}

@media(max-width:767px){
    #certifiedDr-about{
        background: url(../images/certified/certifiedDr_bg-sp.jpg) no-repeat center top;
    }

    #certifiedDr-about .certifiedDr-img{
        max-width: 312px;
    }
}


/*-----------------------

 認定医の「3つの約束」 

 -----------------------*/

#certifiedDr-promise{
    background: url(../images/certified/promise_bg.jpg) no-repeat center top;
    background-size: cover;
    padding: 110px 0;
}

.certifiedDr-promiseList{
    color: #fff;
    margin: 0;
    padding: 0;
}

#certifiedDr-promise .certifiedDr-content > .certifiedDr-flex{
    margin-top: 85px;
}

.certifiedDr-promiseList li{
    gap: 2rem;
    justify-content: start;
    align-items: stretch;
    margin-bottom: 2rem;
}

.certifiedDr-promiseList div{
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    font-size: var(--f50);
    border-right: 1px solid #fff;
    padding-right:2rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    line-height: 1;
}

.certifiedDr-promiseList li:first-of-type div{
    letter-spacing: 0.15rem;
}

.certifiedDr-promiseList div span{
    font-size: var(--f18);
}

.certifiedDr-promiseList p{
    font-size: var(--f30);
    margin: 0;
    color: #fff;
}

#certifiedDr-promise .certifiedDr-img{
    max-width:50%;
}

@media(max-width:767px){

    #certifiedDr-promise{
    background: url(../images/certified/promise_bg-sp.jpg) no-repeat center top;
    background-size: cover;
    padding: 110px 0;
}

    #certifiedDr-promise .certifiedDr-content > .certifiedDr-flex{
       flex-direction: column-reverse;
       gap: 84px;
    }

    .certifiedDr-promiseList{
        width: 100%;
    }

    .certifiedDr-promiseList li{
        flex-direction: row;
        margin-bottom: 50px;
    }

    .certifiedDr-promiseList li:last-child{
        margin-bottom: 0;
    }

    #certifiedDr-promise .certifiedDr-img{
        max-width:80%;
    }

    .certifiedDr-promiseList li div{
        width: 20%;
        padding-right: 1rem;
    }
}


/*-----------------------

認定医の種類

-----------------------*/

#certifiedDr-types{
    background-color: #e3e3da;
    padding: 110px 0;
}

#certifiedDr-types .certifiedDr-titledeco h3{
    color: #ba9b52;
}

#certifiedDr-types h4{
    font-size: var(--f30);
    color: #ba9b52;
    text-align: center;
    margin: 28px 0;
}

#certifiedDr-types a{
    display: block;
    margin: 18px auto 0;
    background: #ba9b52;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    max-width: 285px;
    position: relative;
    padding: 0.5em 0;
    padding-right: 0.5em;
}

#certifiedDr-types a::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 5px;
    height: 5px;
}

#certifiedDr-types .certifiedDr-flex{
    align-items: start;
    margin-top: 35px;
    justify-content: center;
    align-items: stretch;
}

.certifiedDr-typeItem{
    border-right: solid 1px #d0d0d0;
    padding: 0 48px;
}

.certifiedDr-typeItem:last-child{
    padding-right: 0;
    border: none;
}

.certifiedDr-typeItem:first-child{
    padding-left: 0;
}

.certifiedDr-typeItem .typeItem-img{
    width: 90%;
    max-width: 340px;
    margin: 0 auto;
}

.certifiedDr-typeItem .typeItem-text{
    max-width: 325px;
    margin: 0 auto;
}

.certifiedDr-typeItem .typeItem-text p{
    min-height: 224px;
}

@media(max-width:767px){

    #certifiedDr-types .certifiedDr-flex{
        gap: 105px;
    }
    .certifiedDr-typeItem{
    border-right: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    }

    .typeItem-button{
        width: 100%;
    }

    #certifiedDr-types a{
        max-width: 100%;
        font-size: var(--f30);
    }

    #certifiedDr-types h4{
        font-size: var(--f40);
        text-align: left;
        margin-top: 0;
    }

    .typeItem-text p{
        font-size: var(--f24);
    }

    .certifiedDr-typeItem .typeItem-text{
        flex: 1;
    }

    .certifiedDr-typeItem .typeItem-img{
        width: 44%;
    }
}


/*-----------------------

認定医の検索

-----------------------*/

#certifiedDr-list{
    background: url(../images/certified/certifiedDr-list_bg.jpg) no-repeat center top;
    background-size: cover;
    padding: 110px 0;
}

.listTitle-logo{
    width: 167px;
    margin: 0 auto;
}

.certifiedDr-listTitle{
    text-align: center;
}

.listTitle-inner{
    display: flex;
    align-items: center;
    position: relative;
}

.listTitle-inner div{
    text-align: center;
    width: 100%;
    color: var(--accent-color);
}

.listTitle-inner div p{
    color: var(--accent-color);
    font-size: var(--f50);
    margin: 0;
}

.listTitle-inner a{
    position: absolute;
    right: 0;
    bottom: 0.5rem;
    display: block;
    background: #ba9b52;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 400;
    width: 23%;
    max-width: 293px;
    padding: 0.5em 1em;
    padding-right: 2em;
}

.listTitle-inner a::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 5px;
    height: 5px;
}

.certifiedDr-listTitle > span{
    font-size: var(--f18);
    color: var(--accent-color);
}

@media(max-width:767px){

    .listTitle-inner{
        flex-direction: column;
    }

    .listTitle-inner a{
        position: relative;
        max-width: 481px;
        width: 90%;
        top: 0;
        left: 0;
        margin: 1em auto;
        font-size: var(--f26);
    }
}


/* タブ */

.certifiedDr-list_tab{
    justify-content: center;
    margin: 0 auto;
    gap: 1rem;
}

.certifiedDr-list_tab:nth-child(2){
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.certifiedDr-list_tab div{
    display: inline-block;
    background: #ba9b52;
    color: #fff;
    border-radius: 5px;
    display: flex;
    align-items: center;
    padding: 0.5em 1em 0.5em 0.5em;
    transition: filter 0.5s;
}

.certifiedDr-list_tab div:hover{
    filter: brightness(1.1);
}

.certifiedDr-list_tab div span{
   width: 23px;
   height: 23px;
   margin-right: 0.5em;
}

.certifiedDr-list_tab div.tab_dentist span{
    width: 18px;
}

.certifiedDr-list_tab div.tab_chelation span{
    height: 29px;
}

.certifiedDr-list_tab div.tab_vitaminC span{
    width: 31px;
    height: 28px;
}

.certifiedDr-list_tab div.tab_ozon span{
    width: 26px;
   height: 26px;
}

.certifiedDr-list_tab .tab_dr{
    background: #79c7c6;
}

.certifiedDr-list_tab .tab_dentist{
    background: #a1abc7;
}

.certifiedDr-list_tab .tab_veterinarian{
    background: #9c7165;
}

@media(max-width:767px){
    .certifiedDr-list_tab{
        flex-direction: row;
        flex-wrap: wrap;
        font-size: var(--f22);
    }
}


/* 地域（PC） */

.certifiedDr-list_areaPC{
    margin: 0;
    padding: 0;
    display: block;
}

.certifiedDr-list_areaPC li{
    background: #fff;
    border-radius: 5px;
    width: 129px;
    padding: 1em 0.5em;
    position: relative;
    margin-bottom: 0.5em;
    cursor: pointer;
    transition: 0.2s;
}

.certifiedDr-list_areaPC li::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 1px solid #a0a0a0;
    border-right: 1px solid #a0a0a0;
    transition: 0.2s;
}

.certifiedDr-list_areaPC li:hover:not(.kanto) {
    background: #ba9b52;
    color: #fff;
}

.certifiedDr-list_areaPC li:hover:not(.kanto)::before {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.certifiedDr-list_areaPC li.active:not(.kanto) {
    background: #ba9b52;
    color: #fff;
}

.certifiedDr-list_areaPC > li.kanto:has(.active){
    background: #e0cfb1;
}

.certifiedDr-list_areaPC li.active::before {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.certifiedDr-list_areaPC .kanto{
    background: #eae5e5;
}

.certifiedDr-list_areaPC ul{
    padding: 0;
}

.certifiedDr-list_areaPC ul li{
    width: 115px;
}


/* 地域（sp） */

.certifiedDr-list_areaSP {
    display: none;
    width: 100%;
    margin-bottom: 20px;
}

.certifiedDr_sp-container {
    position: relative;
    background: #ba9b52;
    border-radius: 5px;
    color: #fff;
    text-align: center;
}

.certifiedDr_sp-header {
    padding: 15px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 500;
    font-size: var(--f30);
}

#selectedArea{
    text-align: center;
    flex: 1;
}

.certifiedDr_sp-arrow {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #fff;
}

.certifiedDr_sp-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 100;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    list-style: none;
    margin: 0;
    padding: 0;
}

.certifiedDr_sp-container.open .certifiedDr_sp-menu {
    max-height: 600px;
}

.certifiedDr_sp-item {
    padding: 12px 20px;
    cursor: pointer;
    color: #a0a0a0;
    border-bottom: 1px solid #a0a0a0;
    transition: background 0.2s ease;
    font-size: var(--f30);
    font-weight: 500;
}

.certifiedDr_sp-item:last-of-type{
    border-bottom: none;
}

.certifiedDr_sp-item.kanto{
    background: #eae5e5;
    border-bottom: none;
}

.certifiedDr_sp-item.tokyo{
    border-bottom: dotted 1px #a0a0a0;
}

.certifiedDr_sp-item.tokyo,
.certifiedDr_sp-item.not_tokyo{
    font-size: var(--f26);
}

.certifiedDr_sp-item:hover {
    background: #eae5e5;
}

.certifiedDr_sp.active {
    background: #ba9b52;
    color: #fff;
}

.certifiedDr-list_content{
    align-items: start;
    gap: 1rem;
    margin-top: 55px;
}

.certifiedDr-list_dr{
    flex: 1;
    background: #fff;
    border-radius: 10px;
    /*height: 658px;*/
}

.certifiedDr-list_dr_inner{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(233px, 1fr));
    gap: 16px;
    align-content: start;
    overflow-y: scroll;
    overflow-x: hidden;
    /*height: 658px;*/
    width: 100%;
    padding:24px;
    box-sizing: border-box;
}

.certifiedDr-list_dr::-webkit-scrollbar-track {
    background: #fdf8e8;
    border-radius: 10px;
}

.certifiedDr-list_dr::-webkit-scrollbar-thumb {
    background: #ccbc91;
    border-radius: 10px;
    border: 2px solid #ccbc91;
}

.certifiedDr-list_dr::-webkit-scrollbar-thumb:hover {
    background: #ccbc91;
}

/* Firefox用 */
.certifiedDr-list_dr {
    scrollbar-width: thin;
    scrollbar-color: #ccbc91 #fdf8e8;
}


/* Dr一覧 */

.list_dr-item{
    display: flex;
    min-width: 233px;
    height: 98px;
    border-left: 2px solid #ba9b52;
    padding: 12px;
}

.list_dr-item-text{
    flex: 1;
    display: flex;
    flex-direction: column;
    font-weight: 500;
}

.list_dr-area,
.list_dr-clinic{
    font-size: var(--f12);
    color: #a0a0a0;
}

.list_dr-name{
    font-size: calc(var(--f12)*2);
}

.list_dr-item-icon{
    gap: 0.5em;
}

.icon_inner{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 0.5em;
    margin-bottom: auto;
}

.icon_inner span{
    width: 26px;
    height: 24px;
    background-color: #dedddd;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon_chelation img{
    width: 15px;
    height: 19px;
}

.icon_vitaminC img{
    width: 20px;
    height: 18px;
}

.icon_ozon img{
    width: 17px;
    height: 17px;
}

.icon_inner .icon_certifiedDr.active{
    background: #ba9b52;
}

.icon_inner .icon_dr{
    background:#79c7c6;
}

.icon_inner .icon_dr img{
     width: 16px;
    height: 16px;
}

.icon_inner .icon_dentist{
    background:#a1abc7;
}

.icon_inner .icon_dentist img{
    width: 14px;
    height: 18px;
}

.icon_inner .icon_veterinarian{
    background: #9c7165;
}

.icon_inner .icon_veterinarian img{
    width: 17px;
    height: 17px;
}

@media screen and (max-width: 767px) {       
    .certifiedDr-list_areaPC {
        display: none;
    }
            
    .certifiedDr-list_areaSP {
        display: block;
    }

    .certifiedDr-list_dr{
        width: 100%;
    }
            
    .certifiedDr-list_dr_inner {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        padding: 16px;
    }

    .list_dr-item{
        min-width: 0;
        margin-bottom: 43px;
    }

    #certifiedDr-list .list_dr-item .certifiedDr-flex{
        flex-direction: row;
    }

    .list_dr-name{
        font-size: var(--f34);
    }
}

@media screen and (max-width: 400px) {
    .certifiedDr-list_dr_inner {
        grid-template-columns: 1fr;
    }

    .list_dr-item{
        margin-bottom: 1.5rem;
    }
}

.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 2.5s ease-out, transform 2.5s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
.parallax-text {
  will-change: transform;
  transition: transform 0.1s ease-out;
}
