@charset "utf-8";

.header.header_main{position: relative;background: transparent;}

.main_tit{position: relative;display: inline-block;font-size: 16px;line-height: 24px;font-weight: 500;color: #555;}
.main_tit::before{content: '';position: absolute;bottom: 1px;left: 0;width: 100%;height: 8px;background: rgba(234, 81, 69, 0.2);}
.main_txt{font-size: 24px;line-height: 36px;font-weight: 700;}
.main_tit + .main_txt{padding-top: 4px;}

.main_visual{margin-top: -60px;}
.main_visual_inner{position: relative;padding-top: 73px;padding-bottom: 95px;}
.main_visual_inner::before{content: '';position: absolute;top: 0;left: 0;width: 100%;
background: url(../images/img/bg_main_visual.png) no-repeat 0 0 / 100% auto;aspect-ratio: 750 / 800;z-index: -1;}
.main_visual .tab{background: rgba(255, 255, 255, 0.7);}
.main_visual .tab_item{font-weight: 500;padding: 7px 12px;min-width: 72px;}
.main_visual .tab_item.on{font-weight: 600;background: #fff;color: #EA5145;}
.main_text{padding: 66px 24px 0;}
.main_text .ttl{font-size: 28px;line-height: 32px;font-weight: 700;color: #fff;}
.main_text .desc{font-size: 18px;line-height: 24px;color: #fff;padding-top: 8px;}
.main_info{position: relative;padding: 20px 20px 24px;}
.main_info_card{position: relative;margin-top: -96px;padding: 20px;background: #fff;z-index: 5;box-shadow: 0px 2px 10px 2px #0000001A;border-radius: 16px;}
.main_info_card .txt{font-size: 16px;line-height: 19px;font-weight: 500;color: #777;}
.main_info_card .info_txt{font-size: 20px;line-height: 26px;font-weight: 700;color: #222;padding-top: 8px;}
.main_info_card .btn_area{display: flex;border-top: 1px solid #eee;margin-top: 16px;}
.main_info_card .btn_area .btn{font-size: 16px;line-height: 24px;font-weight: 600;color: #555;padding: 12px 0 0 28px;background-repeat: no-repeat;background-size: 24px 24px;background-position: 0 12px;}
.main_info_card .btn_area .btn:only-child{margin: 0 auto;}
.main_info_card .btn_area .btn:not(:only-child) {flex: 1;}
.main_info_card .btn.survey{background-image: url(../images/ico/ico_survey.png);}
.main_info_card .btn.reschedule{background-image: url(../images/ico/ico_reschedule.png);}
.main_info_card .btn.result{background-image: url(../images/ico/ico_result.png);}
.main_info_card .btn.login{background-image: url(../images/ico/ico_login.png);}

.main_menu{display: flex;flex-direction: column;gap: 12px;padding: 0 20px;} 
.menu_item{display: block;background: #F4F4F4;border-radius: 16px;padding: 20px;background-repeat: no-repeat;background-size: 80px 80px;background-position: top 20px right 20px;}
.menu_item .label{display: inline-block;font-size: 10px;line-height: 13px;font-weight: 500;color: #EA5145;padding: 4px 8px;background: #fff;border-radius: 99px;margin-bottom: 12px;}
.menu_item .txt{font-size: 14px;line-height: 18px;color: #555;}
.menu_item .title{font-size: 20px;line-height: 28px;font-weight: 600;color: #222;}
.menu_item:nth-child(1){background-image: url(../images/ico/ico_mainMenu01.png);} 
.menu_item:nth-child(2){background-image: url(../images/ico/ico_mainMenu02.png);} 
.menu_item:nth-child(3){background-image: url(../images/ico/ico_mainMenu03.png);} 
.menu_item:nth-child(4){background-image: url(../images/ico/ico_mainMenu04.png);} 

.main_location{padding: 40px 20px;} 
.main_location .call{padding-left: 32px;font-size: 20px;line-height: 28px;font-weight: 700;color: #222;background: url(../images/ico/ico_call.png) no-repeat 0 2px / 24px 24px;margin-top: 4px;}
.main_location .map{border-radius: 16px;overflow: hidden;margin-top: 20px;}
.main_location ul{padding-top: 20px;}
.main_location li{font-size: 14px;line-height: 22px;font-weight: 500;color: #222;padding-left: 36px;background-size: 20px 20px;background-position: 0 0;background-repeat: no-repeat;}
.main_location li:nth-child(1){background-image: url(../images/ico/ico_location.png);}
.main_location li:nth-child(2){background-image: url(../images/ico/ico_station.png);}
.main_location li:nth-child(3){background-image: url(../images/ico/ico_time.png);}
.main_location li + li{margin-top: 8px;}
.main_location .time div{display: flex;gap: 16px;}
.main_location .time span{min-width: 48px;color: #555;}

.main_news{padding: 40px 20px 50px;background: #F4F4F4;}
.main_slide{padding: 0 20px;margin: 20px -20px 0;}
.main_slide .swiper-slide{border-radius: 16px;overflow: hidden;}
.main_slide .swiper-slide img{width: 100%;}

.main02 .main_visual_inner::before{background-image: url(../images/img/bg_main_visual02.png);}
.department_list li{position: relative;padding-left: 60px;}
.department_list li::before{content: '';position: absolute;top: 20px;left: 0;width: 48px;height: 48px;background-repeat: no-repeat;background-size: 100% 100%;}
.department_list li:nth-child(1):before{background-image: url(../images/img/department01.png);top: 0;}
.department_list li:nth-child(2):before{background-image: url(../images/img/department02.png);}
.department_list li:nth-child(3):before{background-image: url(../images/img/department03.png);}
.department_list li + li{border-top: 1px solid #EEEEEE;padding-top: 20px;margin-top: 20px;}
.department_list li > div{display: flex;justify-content: space-between;gap: 20px;}
.department_list li > div + div{margin-top: 4px;}
.department_list .name{font-size: 22px;line-height: 30px;font-weight: 700;color: #222;}
.department_list .badge{flex-shrink: 0;align-self: flex-start;font-size: 12px;line-height: 22px;font-weight: 500;color: #555;background: #F4F4F4;padding: 2px 8px;border-radius: 99px;}
.department_list .en{font-size: 12px;font-weight: 500;color: #777;}
.department_list .doctor{font-size: 12px;font-weight: 500;line-height: 15px;color: #555;margin-left: auto;text-align: right;}

.main_schedule{padding: 16px 20px 40px;}
.main_schedule .schedule_time{display: flex;gap: 16px;padding: 10px 0 16px;}
.main_schedule .schedule_time .dot{font-size: 14px;line-height: 22px;font-weight: 600;padding-left: 15px;}
.main_schedule .schedule_time .dot::before{width: 8px;height: 8px;}
.dot{position: relative;display: inline-block;font-size: 12px;line-height: 20px;color: #222;font-weight: 500;padding-left: 13px;}
.dot::before{content: '';position: absolute;top: 7px;left: 0;width: 6px;height: 6px;border-radius: 99px;}
.dot.yellow::before{background: #D9A375;}
.dot.blue::before{background: #5EADD4;}
.main_tbl{width: 100%;table-layout: fixed;font-size: 12px;line-height: 20px;font-weight: 500;color: #222;text-align: center;border-radius: 16px;border-collapse: collapse;border-style: hidden;overflow: hidden;box-shadow: 0 0 0 1px #EEEEEE;background: #fff;}
.main_tbl + .main_tbl{margin-top: 12px;}
.main_tbl thead{width: 100%;background: #F4F4F4;}
.main_tbl th{padding: 10px;vertical-align: middle;}
.main_tbl tr + tr{border-top: 1px solid #EEEEEE;} 
.main_tbl td{padding: 10px 8px;vertical-align: middle;font-weight: 600;line-height: 15px;word-break: break-all;}
.main_tbl.doctor td{color: #bbb;font-weight: 500;}
.main_tbl.doctor td:first-child{color: #555;}
.main_tbl.doctor td:first-child span{display: block;line-height: 18px;}
.main_tbl.doctor td:first-child strong{display: block;font-size: 14px;line-height: 20px;color: #222;font-weight: 700;}
.main_tbl .full{display: block;color: #777;background: #F4F4F4;border-radius: 99px;padding: 4px;}

.main_operate{padding: 40px 20px;background: #F4F4F4;}
.operate_info{background: #fff;padding: 20px;border-radius: 16px;margin-top: 20px;}
.operate_info .time{background: url(../images/img/operate.png) no-repeat 0 0 / 100px 100px;padding-left: 120px;}
.operate_info .label{font-size: 16px;line-height: 28px;font-weight: 700;color: #222;}
.operate_info .value{font-size: 16px;line-height: 20px;font-weight: 500;color: #777;}
.operate_info .value + .label{margin-top: 6px;}
.main_operate ul{border-top: 1px solid #EBECEEEE;padding-top: 20px;margin-top: 20px;}
.main_operate li{position: relative;font-size: 12px;line-height: 18px;font-weight: 500;color: #777;padding-left: 7px;}
.main_operate li + li{margin-top: 8px;}
.main_operate li::before{content: '';position: absolute;top: 8px;left: 0;width: 3px;height: 3px;background: #777777;border-radius: 99px;}
.main_operate .notice{background: #F9F9F9;padding: 10px 12px;border-radius: 8px;margin-top: 16px;}
.main_operate .notice .tit{font-size: 14px;line-height: 18px;font-weight: 500;color: #EA5145;padding-left: 20px;background: url(../images/ico/ico_notice.png) no-repeat 0 0 / 16px 16px;margin-bottom: 4px;}
.main_operate .notice p{font-size: 12px;line-height: 18px;font-weight: 500;color: #777;padding-left: 20px;}