@charset "UTF-8";



/* ---------------------------------- チェックシート ---------------------------------- */  

#sec01 {
    overflow: hidden;
}

#sec01 .sec-in {
    position: relative;
}


#sec01 .blur-1 {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(26%, -60%);
  z-index: -1;
}

#sec01 .blur-2 {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-40%, -30%);
  z-index: -1;
}

.sec01-title {
    text-align: center;
    margin-bottom: 1.5em;
}


.sec01-title p {
    font-size: 1.1em;

    opacity: 0;
    transform: translateY(1em);
    transition: .5s ease all;
}
.sec01-title.active p {
    opacity: 1;
    transform: translateY(0);
}

.sec01-title h3 {
    font-size: 1.6em;
    line-height: 1;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    line-height: 1.5;

    opacity: 0;
    filter: blur(10px);
    transform: translateY(1em);
    transition: 1s ease all;
}
.sec01-title.active h3 {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

.sec01-title h3 span {
    display: inline-block;
}


#sec01 .text-box {
    max-width: 1000px;
    margin: 0 auto;
    background-color: #44613C;
    padding: 2em;
    position: relative;
    z-index: 2;
}

#sec01 .text-box-in {
    background-color: #fff;
    padding: 1em;
}



#sec01 .text-box .t-1 {
    text-align: center;
    font-size: 1.1em;
    margin-bottom: 1em;
    line-height: 1.5;
}
#sec01 .text-box .t-1 span {
    display: inline-block;
}

#sec01 .text {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
}



#sec01 .text li {
    padding-bottom: .5em;
    margin-bottom: .5em;
    border-bottom: 1px #D9D9D9 solid;

    opacity: 0;
    transform: translateY(1em);
    transition: .5s ease all;
}
#sec01 .text li.active {
    opacity: 1;
    transform: translateY(0);
}

#sec01 .text li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}


#sec01 .text p {
    width: 88%;
    display: flex;
    align-items: center;
    margin: 0 auto;
}
#sec01 .text p::before {
    content: '';
    width: 1.5em;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-right: .8em;
    border: 1px #333 solid;
}






/* ---------------------------------- コンタクト種類 ---------------------------------- */  


.sec.contact {
    padding: 3em 0 0 0 ;
}
 

#sec02.sec.contact {
    padding: 0;
}

#sec05.sec.contact {
    padding: 3em 0 6em 0;
}

.contact-title {
    position: relative;
    padding: .5em .5em .5em 1em;
    background-color: #ccc;
    background: linear-gradient(
        to right, 
        #E9E6D4 0%, 
        rgba(255, 255, 255, 0) 100%
    );

    max-width: 1920px;
    margin: 0 auto 1.5em auto;

    opacity: 0;
    filter: blur(10px);
    transform: translateX(-1em);
    transition: 1s ease all;
}
.contact-title.active {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
}

@media screen and (min-width: 1440px){
    .contact-title  {
        background: linear-gradient(
            to right, 
            rgba(255, 255, 255, 0) 0%,
            #E9E6D4 20%, 
            rgba(255, 255, 255, 0) 100%
        );
    }
}

.contact-title .inner {
    max-width: 1200px;
    margin: 0 auto;
}

.contact-title h3 {
    font-size: 1.6em;
    font-family: "Zen Old Mincho", serif;
}

.contact .sec-in {
    max-width: 1000px;
    margin: 0 auto;
}

.contact .sec-in p.t-1 {
    font-size: 1.1em;
    margin-bottom: .5em;

    opacity: 0;
    transform: translateY(1em);
    transition: .5s ease all;
}
.contact .sec-in p.t-1.active {
    opacity: 1;
    transform: translateY(0);
}

.contact .flex {
    gap: 2.5em;
}

.contact .flex-item-1 {
    position: relative;
    width: 45%;

    opacity: 0;
    filter: blur(10px);
    transition: 1s ease all;
}
.contact .flex-item-1.active {
    opacity: 1;
    filter: blur(0);
}

.contact .flex-item-1 .item {
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(15% , 30%);
    width: 10em;
    height: auto;
    aspect-ratio: 2 / 1;
    align-content: center;
}

.contact .flex-item-2 {
    width: 55%;

    opacity: 0;
    filter: blur(10px);
    transform: translateY(1em);
    transition: 1s ease all;
}
.contact .flex-item-2.active {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}




/* ---------------------------------- 住吉眼科 ---------------------------------- */  

#sec06 {
    background-color: #E9E6D4;
}

#sec06 .sec-in {
    background-color: #fff;
    max-width: 1000px;
}


#sec06 .flex-item-1 {
    position: relative;
    width: 50%;
    padding: 2em 3em 3em 3em;
}

#sec06 h3 {
    margin-bottom: .8em;
    font-family: "Zen Old Mincho", serif;
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1.2;

    opacity: 0;
    filter: blur(10px);
    transition: 1s ease all;
}
#sec06 h3.active {
    opacity: 1;
    filter: blur(0);
}

#sec06 h3 span {
    font-size: .66em;
    font-weight: 500;
    display: inline-block;
}

#sec06 p {
    margin-bottom: 1em;

}

#sec06 p.t-1 {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(1em);
    transition: .5s ease all;

}
#sec06 p.t-1.active {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

#sec06 .deta {
    margin-bottom: 2em;
    padding: 2em;
    background-color: #F6F2EC;

    opacity: 0;
    transform: translateY(1em);
    transition: 1s ease all;
}
#sec06 .deta.active {
    opacity: 1;
    transform: translateY(0);
}


#sec06 table {
    background-color: initial;
    font-family: "Zen Old Mincho", serif;
    margin-bottom: 0;
}

table:not(.has-border-color) :where(th, td) {
    background-color: #F6F2EC;
    background-color: initial;
    border: 1px #1F5483 solid  !important;
    padding: 1.5em;
}
table tr:nth-of-type(2n+1) {
    background-color: initial !important;
}

table th, table td {
    padding: 2em;
    color: #333;
}

#sec06 table th {
    font-weight: 500;
}


#sec06 .flex-item-2 {
    width: 50%;
    border-radius: 10em 0 0 0;
    overflow: hidden;

    opacity: 0;
    filter: blur(10px);
    transition: 1s ease all;
}
#sec06 .flex-item-2.active {
    opacity: 1;
    filter: blur(0);
}

#sec06 .flex-item-2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


#sec06 table tr:nth-child(1) th {
    border-top: 0 !important;
    border-left: 0 !important;
    padding: 0 1em 1em 0;
}
#sec06 table tr:nth-child(1) td {
    border-top: 0 !important;
    border-right: 0 !important;
    padding: 0 0 1em 1em;
}


#sec06 table tr:nth-child(2) th {
    border-bottom: 0 !important;
    border-left: 0 !important;
    padding: 1em 1em 0 0;
} 

#sec06 table tr:nth-child(2) td {
    border-bottom: 0 !important;
    border-right: 0 !important;
    padding: 1em 0 0 1em;
} 



#sec06 .contact-btn {
    padding: .8em 4.5em .8em 2em;

    opacity: 0;
    transform: translateY(1em);
    transition: .2s ease all;
}
#sec06 .contact-btn.active {
    opacity: 1;
    transform: translateY(0);
}



#sec06 .contact-btn p {
    margin-bottom: 0;
    line-height: 1.2;
}
#sec06 .contact-btn p span {
    display: inline-block;
}


#sec06 .deco-1 {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(10% , -50%);
    width: 6vw;
    max-width: 84px;
}













@media screen and (max-width: 768px){

    


    /* ---------------------------------- チェックシート ---------------------------------- */  

    #sec01 .text p {
        width: 100%;
    }

    #sec01 .sec-in {
        max-width: initial;
    }

    /* ---------------------------------- コンタクト種類 ---------------------------------- */  

    .contact .flex {
        flex-direction: column;
    }

    .contact .flex-item-1 {
        width: 100%;
    }

    .contact .flex-item-2 {
        width: 100%;
    }

    .contact .sec-in {
        max-width: 500px;
    }



    /* ---------------------------------- 住吉眼科 ---------------------------------- */  


    #sec06 .flex {
        display: block;
    } 
    
    #sec06 .flex-item-1 {
        width: 100%;
        padding: 3em 1.5em 1.5em 1.5em;
        text-align: center;
    }

    #sec06 .deco-1 {
        width: 20vw;
    }

    #sec06 .img {
        margin-bottom: 1em;

        opacity: 0;
        filter: blur(10px);
        transition: 1s ease all;
    }

    #sec06 .img.active {
        opacity: 1;
        filter: blur(0);
    }

    #sec06 table {
        font-size: 1.2em;
    }

    #sec06 h3 {
        text-align: left;
    }

    #sec06 p {
        text-align: left;
    }






    
}

































