@charset "utf-8";

.main_title{
    padding-top: clamp(180px,20vw,250px);

    h1{
        font-weight: var(--Bold);
        font-size: var(--font-size44);
        line-height: .9;
        position: relative;
        text-align: center;
        width: 9em;
        margin: 0 auto;
        
        
        &::before{
        content: '';
        position: absolute;
        display: inline-block;
        height: 1.7em;
        top: -2.3em;
        left: 4.5em;
        border-left: solid clamp(3px,.5vw,5px) var(--main-color);
        }
            
        span{
        font-weight: var(--Regular);
        color: var(--main-color);
        font-size: var(--font-size16);
        }
    }
}
/*-----院長あいさつ sp -----*/
.message{
    width: min(90%,1300px);
    margin: 0 auto;
    padding-top: var(--px70);
    transition: .3s;

    .message_p{
        width: min(100%,220px);
        margin: 0 auto;
        transition: .3s;
    }
	.message_tx{
        padding-top: var(--px60);
        transition: .3s;
        
        h2{
            font-size: var(--font-size28);
            font-weight: var(--Bold);
        }
        p{
            padding-top: var(--px60);
            line-height: 1.8;
        }
        .name{
            font-size: var(--font-size18);
            font-weight: var(--SemiBold);
            padding-top: var(--px30);
            text-align: right;
            padding-right: .5em;

            span{
                font-size: var(--font-size24);
                padding-left: .8em;
            }
        }
    }

}
/*-----医師紹介 sp -----*/
.staff{
    width: min(90%,1100px);
    margin: 0 auto;
    padding-top: var(--px170);

    .title{
        font-weight: var(--Bold);
        font-size: var(--font-size36);
        line-height: .9;
        position: relative;
        padding-left: 1em;
        margin-top: var(--px100);
        
        &::before{
          content: '';
          position: absolute;
          display: inline-block;
          height: 3.5em;
          bottom: -.1em;
          left: 0;
          border-left: solid clamp(3px,.5vw,5px) var(--main-color);
        }
              
        span{
          font-weight: var(--Regular);
          color: var(--main-color);
          font-size: var(--font-size16);
        }
      }

    h3{
        font-weight: var(--Bold);
        font-size: var(--font-size32);
        padding: var(--px35) 0 0 1.5em;        
    }
    .doctor{
        margin-top: var(--px35);
        margin-left: 1.5em;
        padding: var(--px90) 0 var(--px50) var(--px50);
        background: linear-gradient(90deg, transparent 0%, #E4EBF9 25%, #E4EBF9 75%, transparent 100%);

        h4{
            font-weight: var(--Bold);
            font-size: var(--font-size36);
            border-left: solid 3px var(--main-color);
            padding-left: var(--px20);

            span{
                font-weight: var(--Medium);
                font-size: var(--font-size18);
                display: block;
            }
        }
    }
    .table_box{
        padding: var(--px40) 0 var(--px50) var(--px50);

        caption{
            text-align: left;
            margin-bottom: var(--px20);

            span{
                background-color: var(--main-color);
                border-radius: 4px;
                color: #fff;
                padding: 3px 10px;
                
            }
            
        }
        table{
            border-collapse: collapse;
            border-spacing: 0;
            width: 100%;
            margin-bottom: var(--px50);
            line-height: 1.4;

            th{
                color: var(--main-color);
                text-align: left;
                vertical-align: top;
                padding: 3px;
                font-weight: var(--Medium);
            }
            

            &.history{
                th{
                    width: 4.5em;
                } 
                td{
                    padding: 3px 3px 3px 5px;
                }                
            }
            &.qualification{
            
                td{
                    padding: 3px 3px 3px 0px;

                    span{
                        color: var(--main-color);
                        font-weight: var(--Medium);
                    }
                    &.indentback{
                        text-indent: -1em;
                        padding-left: 1em;
                      }
                }               
            }
        }        
    }
    .staff_box{
        padding: var(--px40) 0 clamp(100px,20vw,220px);
        width: min(100%,380px);
        margin: 0 auto;

        .staff_tx{
            padding-top: var(--px40);

            ul{
                padding-top: var(--px20);
                font-size: var(--font-size20);

                li{
                    span{
                        color: var(--main-color);
                        font-weight: var(--Black);
                        padding-right: .2em;
                    }
                }
            }
        }
    }
}
/*-----クリニック情報 sp -----*/
.info{
    background-color: var(--gray);
    padding: var(--px80) 0;

    .info_title{
        font-weight: var(--Bold);
        font-size: var(--font-size36);
        line-height: .9;
        position: relative;
        text-align: center;
        width: 7em;
        margin: 0 auto;
        
        &::before{
          content: '';
          position: absolute;
          display: inline-block;
          height: 3em;
          top: -4em;
          left: 3.5em;
          border-left: solid clamp(3px,.5vw,5px) var(--main-color);
        }
              
        span{
          font-weight: var(--Regular);
          color: var(--main-color);
          font-size: var(--font-size16);
        }
    }
}
.info_box{
    width: min(90%,1100px);
    margin: 0 auto;
    background-color: #fff;
    margin-top: var(--px35);
    padding: var(--px35) 0 0;
    border-radius: var(--px20);

    h3{
        font-weight: var(--Bold);
        font-size: var(--font-size36);
        text-align: center;
        width: 7em;
        margin: 0 auto;
              
        span{
          font-weight: var(--Regular);
          color: var(--main-color);
          font-size: var(--font-size16);
          display: block;
        }
    }

    /*---療時間 sp ----*/
    .info_content{
        padding-bottom: var(--px50);

        .info_img{
            width: min(96%,800px);
            margin: 0 auto;
            padding-top: var(--px10);
        }
        .map{
            aspect-ratio: 80 / 47;
        }
        
        .info_tx{
            width: min(90%,800px);
            margin: 0 auto;

            table{
                padding-top: var(--px20);
                
                td{
                    vertical-align: top;
                    padding: 6px 0px;
                    line-height: 1.5;
                }
            }
            
            .info_ti{
                background-color: #333;
                color: #ffffff;
                text-align: center;
                width: 4.5em;
                font-weight: 600;
                border-radius: 50px;
                margin-right: 10px;
            }

            .info_tel{
                position: relative;
                padding: 3px 0 3px 30px; 
                font-weight: 400;
                letter-spacing: .08em;
                font-size: 3rem;
                
                &::before{
                    display: inline-block;
                    content: "";
                    position: absolute;
                    background-image: url("../images/common/png_01.png");
                    width: 22px;
                    height: 22px;
                    background-size: 22px;
                    top: 11px;
                    left: 0px;
                    transition: all .3S;
                    background-repeat: no-repeat;
                }
            }
            .box_01{
                aspect-ratio: 2 / 1;
                background-color: #FFDFE8;
                border: 1px solid #FFDFE8;
                width: 50px;
                margin-right: 6px;
            }
            .box_02{
                aspect-ratio: 2 / 1;
                background-color: #fff;
                border-right: 1px solid #888;
                border-left: 1px solid #888;
                border-top: 1px dashed #888;
                border-bottom: 1px dashed #888;
                margin-left: 30px;
                margin-right: 6px;
                width: 50px;
            }
            .name{
                font-weight: var(--Bold);
                font-size: var(--font-size20);
            }            
        }        
    }
}
@media (min-width:768px){
/*-----メイン tab -----*/
    main{
        padding-top: 90px;
    }
/*-----院長あいさつ tab -----*/
    .message{
        padding-left: 50px;
    }
/*-----医師紹介 tab -----*/
    .staff{
        .staff_box{
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: min(100%,1100px);
            padding-left: 1.5em;
            
            .staff_p{
                order: 2;  
                width: 40%;          
            }
            .staff_tx{
                padding-top: 0;
                width: 60%;
            }
        }
    }
/*-----クリニック情報 sp -----*/
    .info_box{

        /*---療時間 sp ----*/
        .info_content{

            .info_img{
                width: min(90%,800px);
            }       
        }
    }


}

@media (min-width:1024px){
/*-----メイン pc -----*/
    main{
        padding-top: 120px;
    }

/*-----院長あいさつ pc -----*/
    .message{
        display: flex;
        justify-content: space-between;

        .message_p{
            width: 27%;
            margin: 0;
            order: 2;
        }
        .message_tx{
            width: 69%;
            margin: 0;
            padding-top: 0;
        }
    }
/*-----医師紹介 pc -----*/
    .staff{
        .staff_box{
            padding-left: 3em;
            
            .staff_p{  
                width: min(50%,464px);          
            }
            .staff_tx{
                padding-top: 0;
                width: 50%;
            }
        }
    }


}

@media (min-width:1280px){
/*-----院長あいさつ 1280 -----*/
    .message{
        align-items: center;

        .message_p{
            width: 41%;
            text-align: center;

            img{
                width: min(100%,340px);
            }
        }
        .message_tx{
            width: 53%;
        }
    }
 /*-----医師紹介 1280 -----*/
    .staff{
        .table_box{
            display: flex;
            justify-content: space-between;
            align-items: self-start;

            table{
                &.history{
                    width: 52%;              
                }
                &.qualification{
                    width: 47%;              
                }
            }
        }

    }   
 


}


@media (min-width:1680px){
/*-----院長あいさつ 1680 -----*/
    .message{
        padding-left: 100px;
    }
        
        
}