.a01{}

.content.a01 strong.copy{
    display:block;
    font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: normal;
    font-size:4rem;
    line-height:120%;
    color:#000;
    text-align:center;
}

.content.a01 .moduleTop{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    margin-top:70px;
    transition: all 0.2s ease-out;
}
.content.a01 .moduleTop .txt{
    width:calc(100% - 600px);
    padding-right:50px;
    
}
.content.a01 .moduleTop .txt p{
    display:block;
    margin-top:30px;
    font-size:1.125rem;
    line-height:180%;
    word-break: keep-all;
    text-align:right;
}
.content.a01 .moduleTop .txt p>br{
    padding-left:5px;
}
.content.a01 .moduleTop .txt p:first-child{
    margin-top:0;
}
.content.a01 .moduleTop .img{
    position:relative;
    width:600px;
    height:600px;
    overflow:hidden;
}
.content.a01 .moduleTop .img>img{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    max-width:none;
    object-fit: cover;
}
.content.a01 dl{
    width:100%;
    margin-top:100px;
    text-align: left;
}
.content.a01 dl, .content.a01 dl>dd{
    min-height:380px;
    display:inline-block;
    vertical-align:top;
}
.content.a01 dl>dd{
    width:31%;
    padding:30px;
    margin-left:3.5%;
    margin-bottom:60px;
    border-radius:15px;
    border:1px solid rgba(0,0,0,0.3);
    transition: all 0.2s ease-out;
}

.content.a01 dl>dd:nth-child(3n-2){
    margin-left:0;
}
.content.a01 dl>dd i{
    display:block;
    margin-right:auto;
    width:18%;
}
.content.a01 dl>dd span, .content.a01 dl>dd p{
    display:block;
    width:100%;
    text-align: left;
    word-break: keep-all;
    transition: all 0.2s ease-out;
}
.content.a01 dl>dd span{
    margin-top:5.5vh;
    font-size:2rem;
    line-height:140%;
    font-weight:900;
}
.content.a01 dl>dd p{
    margin-top:1.5vh;
    font-size:1.125rem;
    line-height:140%;
}
.content.a01 dl>dd:hover{
    background-color:rgba(0,0,0,1);
}
.content.a01 dl>dd:hover span, .content.a01 dl>dd:hover p{
    color:#fff;
    
}



@media only screen and (max-width : 1024px) {
    .content.a01 strong.copy{
        font-size:3rem;
    }
    .content.a01 .moduleTop .img{
        width:400px;
    }
    .content.a01 .moduleTop .txt{
        width:calc(100% - 400px);
    }
    .content.a01 .moduleTop .txt p>br{
        display:none;
    }
}
@media only screen and (max-width : 1024px) {
    .content.a01 strong.copy{
        font-size:3rem;
    }
    .content.a01 .moduleTop .img{
        width:43vw;
    }
    .content.a01 .moduleTop .txt{
        width:calc(100% - 43vw);
    }
    .content.a01 .moduleTop .txt p>br{
        display:none;
    }
    .content.a01 dl>dd i{
        width:auto;
    }
    .content.a01 dl>dd{
        width:47%;
        margin-left:6%;

    }
    .content.a01 dl>dd:nth-child(3n-2){
    margin-left:6%;
    }
    .content.a01 dl>dd:nth-child(2n-1){
    margin-left:0;
    }
}
@media only screen and (max-width : 680px) {
    .content.a01 .moduleTop{
        flex-flow: column;
        margin-top:8vw;
    }
    .content.a01 strong.copy{
        font-size:2.25rem;
    }
    .content.a01 .moduleTop .txt, .content.a01 .moduleTop .img{
        width:100%;
        padding-right:0;
    }
    .content.a01 .moduleTop .txt{
        max-width:400px;
        margin: 0 auto;
    }
    .content.a01 .moduleTop .txt p{
        font-size:1rem;
        text-align:center;
    }
    .content.a01 .moduleTop .img{
        margin-top:5vw;
        height:30vh;
    }
    .content.a01 dl>dd{
        width:100%;
        margin-left:0%;
        min-height:auto;

    }
    .content.a01 dl>dd span{
        margin-top:7vw;
        font-size:1.5rem;
    }
    .content.a01 dl>dd p{
        font-size:1rem;
    }
    .content.a01 dl>dd:nth-child(3n-2), .content.a01 dl>dd:nth-child(2n-1){
    margin-left:0;
    }
    .content.a01 dl>dd i{
        width:12vw;
    }
    
}


#container.black .content{
    background-color:#000 !important;
}


.contTitle{
    margin-bottom:100px;

}
.contTitle strong{
    font-family: "DM Serif Display", serif;
    font-weight: 400;
    font-style: normal;
    font-size:4rem;
    line-height:120%;
    
}
.contTitle p{
    margin-top: 30px;
    font-size: 1.125rem;
    line-height: 180%; 
}
.contTitle strong, .contTitle p{
    display: block;
    color:#fff;
    text-align:center;
    word-break: keep-all;
}
@media only screen and (max-width : 1024px) {
    .contTitle strong{
        font-size: 3rem;
    }
}
@media only screen and (max-width : 680px) {
    .contTitle{
    margin-bottom:12vw;
    }
    .contTitle strong{
        font-size: 2.25rem;
    }
    .contTitle p{
        font-size: 1rem;
    }
    .contTitle p>br{
        display:none;
    }
}

.b01 ul{
    text-align:left
}
.b01 ul, .b01 ul>li{
    display:inline-block;
    width:100%;
}
.b01 ul>li{
    width:32%;
    margin-left:2%;
    margin-top:70px;
    vertical-align:top;
    transition: all 0.2s ease-out;
}
.b01 ul>li:nth-child(1), .b01 ul>li:nth-child(2){
    margin-top:0;
    width:48%;
    margin-left:4%;
}
.b01 ul>li:nth-child(1){
    margin-left:0;
}
.b01 ul>li:nth-child(3n){
    margin-left:0;
}
.b01 ul>li>.img{
    position: relative;
    width:100%;
    aspect-ratio: 1 / 1;
    border-radius:20px;
    background-color:#000;
    overflow:hidden;
}
.b01 ul>li>.img>img{
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;  
    object-position: center; /* 중앙 정렬 */ 
    opacity:0.5;
    transition: all 0.2s ease-out;
}
.b01 ul>li>.tit{
    width:100%;
    text-align:left;
}
.b01 ul>li>.tit strong{
    display:inline-block;
    padding-top:20px;
    font-size:1rem;
    line-height:120%;
    font-weight:300;
    color:#fff;
    word-break: keep-all;
}
.b01 ul>li:hover .img>img{
    opacity:1;
}

@media only screen and (max-width : 1024px) {
    .b01 ul>li>.tit{
        text-align:center;
    }
}
@media only screen and (max-width : 680px) {
    .b01 ul>li>.tit{
        text-align:center;
    }
    .b01 ul>li{
        width:49%;
        margin-left:2%;
        margin-top:10vw;
        
    }
   
    .b01 ul>li:nth-child(3n){
        margin-left:2%;
    }
    .b01 ul>li:nth-child(2n+1){
        margin-left:0;
    }
    
    .b01 ul>li:nth-child(1), .b01 ul>li:nth-child(2){
        margin-top:0;
        width:100%;
        margin-left:0;
    }
    .b01 ul>li:nth-child(2){
        margin-top:10vw;
    }
    .b01 ul>li>.img>img{
        opacity:1;
    }
}


.c01 .root_daum_roughmap {
    width: 100% !important;
    max-width: 100% !important;
}
.root_daum_roughmap .cont{
    display:none;
}
.root_daum_roughmap .section_address .tit{
    color:#fff !important;
     
}
.root_daum_roughmap .section_address .phone{
    display:none;
}

.content.d01{
  
    height:calc(100vh - 275px);
}
.content.d01 .block{
     display:flex;
    align-items:center;
    justify-content: space-between;
    
}
.content.d01 .block>div{
    position: relative;
    width:48%;
    text-align:right;
   
}
.content.d01 .block>div:first-child{
    margin-right:4%;
    height:300px;
}
.content.d01 .block>div .element{
    width:100%;
    margin-top:30px;
}
.content.d01 .block>div .element:first-child{
    margin-top:0;
}
.content.d01 .block>div input[type="text"]{
    width:100%;
    background-color:#333333;
    border:1px solid #333333;
    height:50px;
    color:#f5f5f5;
}
.content.d01 .block>div a{
    position:absolute;
    bottom:0;
    left:calc( 4% + (-370px));
    display:inline-block;
    width:300px;
    margin-top:90px;
    background-color:#000;
    border:1px solid #333;
    height:80px;
    font-size:2rem;
    line-height:80px;
    color:#f5f5f5;
    text-align:center;
}
.content.d01 .block>div textarea{
    width:100%;
    background-color:#333333;
    border:1px solid #333333;
    height:300px;
    padding:10px 5px ;
    color:#f5f5f5;
    font-size:1rem;
    line-height:120%;
}

@media only screen and (max-width : 1024px) {
    .content.d01{
    
    height:auto;
    padding-top:15vw;
    padding-bottom:15vw;
    }
    .content.d01 .block{
        display:flex;
        flex-flow: column;
        align-items:flex-start;
        justify-content:flex-start;
    }
    .content.d01 .block>div{
        width:100%;
        text-align:center;
    }
    .content.d01 .block>div:first-child{
        margin-right:0;
        height:auto;
        margin-bottom:5vw;
    }
    .content.d01 .block>div a{
        position:relative;
        bottom:auto;
        left:auto;
        margin: 0 auto;
        margin-top:10vw;
    }
}
@media only screen and (max-width : 680px) {
    .content.d01 .block>div a{
        width:90%;
        font-size:1.313rem;
    }
    .content.d01{
        padding-top:20vw;
        padding-bottom:20vw;
    }
}

.content.e01{

}

.e01 ul{
    display:block;
}
.e01 ul>li{
    display:block;
    width:100%;
    margin-top:100px;
}
.e01 ul>li:first-child{
    margin-top:0;
}
.e01 ul>li .img, .e01 ul>li .block{
    
    display:inline-block;
    vertical-align:top;
}
.e01 ul>li .img{
    position: relative;
    width:240px;
    height:200px;
    border-radius:20px;
    overflow:hidden;
}
.e01 ul>li .img>img{
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    width:400px;
    opacity:0.5;
    transition: all 0.2s ease-out;
}
.e01 ul>li:hover .img>img{
    opacity:1 ;
}
.e01 ul>li .block{
    padding-left:60px;
    width:calc(100% - 240px - 60px);
}
.e01 ul>li .block strong, .e01 ul>li .block p, .e01 ul>li .block span{
    display:block;
    color:#fff;
    text-align: left;
    word-break: keep-all;
}
.e01 ul>li .block strong{
    padding-top:5px;
    padding-bottom:15px;
    font-size: 1.375rem;
    line-height: 180%;
     white-space: nowrap;  /* 줄바꿈 없음 */
  overflow: hidden;     /* 넘치는 글자 숨김 */
  text-overflow: ellipsis; /* ... 표시 */
}
.e01 ul>li .block p{
    margin-bottom:25px;
    font-size: 1.125rem;
    line-height: 180%;
    font-weight:300;
    opacity:0.7;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;      /* 최대 3줄 */
    -webkit-box-orient: vertical;
}

.e01 ul>li .block span, .e01 ul>li .block span>font{
    font-size:0.875rem;
    opacity:0.7;
}
.e01 ul>li .block span>font{
    padding-left:3px;
}
@media only screen and (max-width : 1024px) {
    .e01 ul>li .img{
        width:200px;
    }
    .e01 ul>li .img>img{
        width:100%;
        height: 100%;
        object-fit: cover;
    }
    .e01 ul>li .block{
        padding-left:40px;
        width: calc(100% - 200px - 40px);
    }
}
@media only screen and (max-width : 680px) {
    .e01 ul>li{
        margin-top:15vw;
    }
    .e01 ul>li .img{
        width:100%;
        max-width:460px;
        height:35vw;
       
    }
    .e01 ul>li .img>img{
         opacity:1 ;
    }
    .e01 ul>li .block{
        width:100%;
        padding-left:0;
        padding-top:30px;
    }
    .e01 ul>li .block strong, .e01 ul>li .block p, .e01 ul>li .block span{
    text-align:center;
    }
    .e01 ul>li .block strong{
        padding-top:0;
        padding-bottom:5px;
        font-size:1.125rem;
    }
    .e01 ul>li .block p{
        margin-bottom:15px;
        font-size:1rem;
    }
    .e01 ul>li .block span, .e01 ul>li .block span>font{
    font-size:0.813rem;
    }
}