@charset "UTF-8";

#medical_lead + section .heading p {
    font-size: 2.5rem;
}
#medical_partner + section .inner_item_txt h3,
#medical_tax + section .inner_item_txt h3{
    font-size: 3.0rem;
    line-height: 1.5;
    margin-bottom: 10px;
}
#medical_partner + section .inner_item_txt h3 span,
#medical_tax + section .inner_item_txt h3 span{
    color: var(--i_main_color);
}
.contact_wrap {
    background: #fff;
    padding: 30px 60px;
    border-radius: 20px;
    display: table;
}
.contact01,
.contact02,
.contact03{
    font-weight: 600;
    padding-right: 25px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}
.contact01 span{
    color: var(--i_sub_color);
}
.contact02 {
    background: url(/common/upload_data/ryukyu-groupcom/image/40.png) no-repeat left 5px top / 25px;
    font-size: 3.3rem;
    padding-left: 35px;
    line-height: 0.7;
    letter-spacing: 0.2rem;
}
.contact02 span{
    font-size: 1.5rem;
}
.contact03{
    padding: 0 25px;
}
.contact03 a {
    background: url(/common/upload_data/ryukyu-groupcom/image/39.png) top 20px left 17px/20px no-repeat ,var(--i_btn_color);
    color: #fff;
    padding: 15px 50px 15px 55px;
    border-radius: 10px;
    text-decoration: none;
    transition: 0.2s ease-in-out;
}
.contact03 a:hover{
    transition: 0.2s ease-in-out;
    opacity: 0.8;
}
#medical_before + section .heading,
#medical_after + section .heading{
    border-bottom: 3px solid rgba(174, 174, 174, 0.3);
    position: relative;
}
#medical_before + section .heading:before,
#medical_after + section .heading:before{
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    display: block;
    width: 120px;
    height: 3px;
    background-color: var(--i_sub_color);    
}
#medical_before + section .heading h2,
#medical_after + section .heading h2{
    font-size: 3.5rem;
    padding-left: 0;
    border: none;
}
#medical_before + section .heading h2:before,
#medical_after + section .heading h2:before{
    display: none;
}
a[id^="medical_before"] + section .heading h3,
a[id^="medical_after"] + section .heading h3,
a[id^="medical_service"] + section .heading h3{
    font-size: 2.7rem !important;
    padding-left: 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
a[id^="medical_before"] + section .heading h3:before,
a[id^="medical_after"] + section .heading h3:before,
a[id^="medical_service"] + section .heading h3:before{
    display: none !important;
}
a[id^="medical_before"] + section .heading p,
a[id^="medical_after"] + section .heading p,
a[id^="medical_service"] + section .heading p{
    color: var(--i_main_color);
    font-size: 2.2rem;
    font-weight: 600;
}
a[id^="medical_schedule0"] + div .heading.block_header_2 .h{
    font-size: 2.5rem;
}
a[id^="medical_schedule0"] + div .content_wrapper {
    background: #f4f4f4;
    padding: 50px 50px 0;
}
#medical_schedule02 + div .content_wrapper{
    padding: 30px 50px 80px;    
}
a[id^="medical_schedule0"] + div .heading h3{
    font-size: 2.1rem !important;
}
a[id^="medical_schedule0"] + div .inner_item .inner_item_txt p{
    font-size: 1.5rem;
}
a[id^="medical_schedule0"] +  div .inner_item {
    position: relative;
    margin-top: 20px;
}
a[id^="medical_schedule0"] +  div .inner_item:before{
    position: absolute;
    top: -35px;
    font-size: 30px;
    z-index: 999; 
    content: "01";
    letter-spacing: .18em;
    left: 10px;
    text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
    color: var(--i_sub_color);
    font-weight: 600;
}
#medical_schedule01 +  div .inner_item:nth-of-type(2):before{
    content: "02";	
}
#medical_schedule01 +  div .inner_item:nth-of-type(3):before{
    content: "03";	
}
#medical_schedule01 +  div .inner_item:nth-of-type(4):before{
    content: "04";	
}
#medical_schedule01 +  div .inner_item:nth-of-type(5):before{
    content: "05";	
}
#medical_schedule02 +  div .inner_item:nth-of-type(1):before{
    content: "06";	
}
#medical_schedule02 +  div .inner_item:nth-of-type(2):before{
    content: "07";	
}
#medical_schedule02 +  div .inner_item:nth-of-type(3):before{
    content: "08";	
}
#medical_schedule02 +  div .inner_item:nth-of-type(4):before{
    content: "09";	
}
#medical_schedule02 +  div .inner_item:nth-of-type(5):before{
    content: "10";	
}
#medical_schedule03 +  div .inner_item:nth-of-type(2):before{
    content: "02";	
}
#medical_schedule03 +  div .inner_item:nth-of-type(3):before{
    content: "03";	
}
#medical_schedule03 +  div .inner_item:nth-of-type(4):before{
    content: "04";	
}
#medical_schedule03 +  div .inner_item:nth-of-type(5):before{
    content: "05";	
}
a[id^="medical_schedule0"] +  div .inner_item:after{
    content: "";
    position: absolute;
    left: 13px;
    top: 20px;
    width: 27px;
    height: 3px;
    background: var(--i_sub_color);
    z-index: 999;  
    box-shadow: 0 0 5px #fff ,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
}
.support_wrap {
    border: 1px solid var(--i_border_color);
    background: #fff;
    padding: 40px;
}
.support_case {
    display: table;
}
.support_case_l,
.support_case_r{
    display: table-cell;
    vertical-align: middle;
}
.support_case_l img{
    width: 200px;
}
.support_case_r{
    padding-left: 30px;
    width: 85%;
}
.support_case_r p:nth-of-type(1){
    color: var(--i_main_color);
    font-weight: 600;  
}
.support_case_r h3{
    font-size: 2.2rem;
}
.support_case_r p:nth-of-type(2){
    font-weight: 600;
    border-bottom: 1px solid var(--i_border_color);
    padding-bottom: 5px;
    margin-bottom: 5px;
}
.support_case_r p:nth-of-type(3){
    opacity: 0.6;
}
.support_qa {
    display: table;
    margin-top: 30px;
}
.support_q,
.support_a{
    display: table-cell;
    width: 47%;
    background: #e8f4f5;
    padding: 20px 40px;
    text-align: center;
}
.support_arrow{
    display: table-cell;
    width: 3%;
    text-align: center;
    vertical-align: middle;
    padding: 0 5px;
}
.support_arrow img{
    width: 30px;
}
.support_q h4,
.support_a h4{
    font-size: 2.2rem;
    margin-bottom: 10px;
    color: var(--i_main_color);
}
.support_a h4{
    color: var(--i_sub_color);  
}
.support_q p,
.support_a p{
    text-align: left;
}
.support_a{
    background: #fff3ee;
}
#medical_problem + section .inner_item_txt {
    background: #fff;
    padding: 30px 60px !important;
    border-radius: 20px;
}
.problem_list {
    font-weight: 600;
    font-size: 1.9rem;
    border-bottom: 1px solid var(--i_border_color);
    padding-bottom: 10px;
    margin-bottom: 10px;
    background: url(/common/upload_data/ryukyu-groupcom/image/43.png)top 13px left / 30px no-repeat;
    padding-left: 38px;
}
.problem_list span{
    font-size: 2.3rem;
    background:linear-gradient(transparent 60%, #95d4ec 60%);
}
#medical_solution01 + div {
    position: relative;
}
#medical_solution01 + div:before{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 60px 0 60px;
    border-color: #384b99 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;  
}
#medical_solution01 + div:after{
    position: absolute;
    display: block;
    content: "SOLUTION";
    white-space: pre;
    top: 30px;
    left: 50%;
    line-height: 1.2;
    font-size: 15.0rem;
    pointer-events: none;
    font-weight: 800;
    letter-spacing: 0.2rem;
    color: #e6e6e6;
    transform: translate(-50%, 0);    
}
#medical_solution01 + div .inner_item {
    padding: 40px;
}
a[id^="medical_solution"] +  div .inner_item {
    position: relative;
    margin-top: 20px;
}
a[id^="medical_solution"] +  div .inner_item:before{
    position: absolute;
    top: -55px;
    font-size: 50px;
    z-index: 999; 
    content: "01";
    letter-spacing: .18em;
    right: 10px;
    text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
    color: var(--i_main_color);
    font-weight: 600;
}
#medical_solution01 +  div .inner_item:nth-of-type(2):before{
    content: "02";  
}
#medical_solution02 +  div .inner_item:nth-of-type(1):before{
    content: "03";  
}
#medical_solution02 +  div .inner_item:nth-of-type(2):before{
    content: "04";  
}
a[id^="medical_solution"] +  div .inner_item:after{
    content: "";
    position: absolute;
    right: 24px;
    top: 27px;
    width: 47px;
    height: 4px;
    background: var(--i_main_color);
    z-index: 999;  
    box-shadow: 0 0 5px #fff ,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
}
.editor_solution {
    font-weight: 600;
    font-size: 2.2rem;
}
.editor_solution span{
    color: var(--i_sub_color);
}
@media screen and (max-width: 900px){
    .contact01 {
        padding-right: 0;
    }
    #medical_partner + section .inner_item_txt h3,
    #medical_tax + section .inner_item_txt h3{
        text-align: center;
    }
    .contact_wrap,
    .contact01,
    .contact02,
    .contact03{
        display: block;
    }
    .contact02{
        margin: 10px 0 30px;
        display: inline-block;
        left: 50%;
        position: relative;
        transform: translate(-50%, 0);
    }
    #medical_before + section .heading h2,
    #medical_after + section .heading h2 {
        font-size: 3.0rem !important;
    }
    .editor_solution{
        font-size: 1.9rem !important;
    }
    a[id^="medical_solution"] + div .inner_item::before{
        top: -45px;
        font-size: 40px;
    }
    a[id^="medical_solution"] + div .inner_item::after{
        right: 20px;
        top: 22px;
        width: 40px;
        height: 4px;
    }
    #medical_solution01 + div::after{
        top: 60px;
        font-size: 11.0rem;
    }
}
@media screen and (max-width: 600px){
    #medical_before + section .heading h2,
    #medical_after + section .heading h2 {
        font-size: 2.7rem !important;
    }
    .support_qa{
        display: block;
    }
    .support_q,
    .support_a{
        display: block;
        width: auto;
    }
    .support_case_r{
        width: 75%;
    }
    .support_arrow img {
        width: 25px;
        transform: rotate( 90deg );
        margin: 10px 0;
    }
}
@media screen and (max-width: 400px){
    #medical_lead + section .heading p {
        font-size: 2.0rem;
    }
    #medical_partner + section .inner_item_txt h3,
    #medical_tax + section .inner_item_txt h3{
        font-size: 2.6rem;
    }
    .contact_wrap{
        padding: 25px 17px;
    }
    .support_case {
        display: block;
    }
    .support_case_l,
    .support_case_r{
        display: block;
        text-align: center;    
    }
    .support_wrap{
        padding: 30px 20px;
    }
    .support_q,
    .support_a{
        padding: 20px 30px;
    }
    #medical_problem + section .inner_item_txt{
        padding: 30px 20px !important;
    }
    .problem_list{
        font-size: 1.7rem;
    }
    .problem_list span{
        font-size: 2.1rem;
    }
    #medical_solution01 + div::after {
        top: 80px;
        font-size: 6.0rem;
    }
}