.subpage{
    padding:80px 0;
}

.page-header{
    margin-bottom:60px;
    text-align:center;
}

.page-header h3{
    font-size:42px;
    font-weight:700;
    color:#111;
    margin-bottom:15px;
}

.page-header h4{
    font-size:32px;
    font-weight:400;
    color:#8d8d8d;
    margin-bottom:15px;
}

.page-header p{
    font-size:18px;
    color:#666;
    line-height:1.7;
}

.page-content{
    max-width:1100px;
    margin:0 auto;
}

.page-content p{
    line-height:1.9;
    word-break:keep-all;
}


@media (max-width:1024px){

    .subpage{
        padding:60px 0;
    }

    .page-header{
        margin-bottom:40px;
    }

    .page-header h3{
        font-size:32px;
    }

    .page-header p{
        font-size:16px;
    }
}

@media (max-width:768px){

    .subpage{
        padding:40px 0;
    }

    .page-header h3{
        font-size:28px;
    }

    .page-content p{
        font-size:15px;
        line-height:1.8;
    }
}





/* 인사말 전용 */
.greeting-content{
  display:flex;
  flex-flow:row nowrap;
  justify-content: center;
  max-width:1000px;
}

.greeting-content > div{
  flex:1 1 50%;
  padding:20px;
}

.greeting-content p{
    margin-bottom:25px;
    font-size: clamp(14px, 0.95rem, 16px);
    line-height: 1.6;
    color:#666;
}

.greeting-flex{
  display:flex;
  flex-flow:row nowrap;
  justify-content:space-between;
  align-items: center;
  gap:20px;
  max-width: 1000px;
  margin:100px auto;
}


.greeting-flex > div{
  display:flex;
  flex-flow:column nowrap;
  justify-content:center;
  align-items: center;
  gap:12px;
  flex: 1 1 33.3333%;
  font-size: 16px;
}

.greeting-flex > div:nth-child(2){
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}


.greeting-flex strong{
  font-size:clamp(20px, 1.9rem, 34px);
}


.greeting-link{
  display:flex;
  flex-flow:row nowrap;
  justify-content:space-between;
  align-items: center;
  gap:20px;
  max-width: 1000px;
  margin:100px auto;
}

.greeting-link > a{
  display:flex;
  flex-flow:column nowrap;
  justify-content:center;
  align-items: flex-start;
  gap:12px;
  flex: 1 1 20%;
  padding:60px 30px;
  font-size: 16px;
  color:#666;
  border:1px solid #ddd;
  transition:0.3s;
}
.greeting-link > a:nth-child(1){
  background:url(/theme/jelly/img/footprints.png) no-repeat 90% center / 50px;
}
.greeting-link > a:nth-child(2){
  background:url(/theme/jelly/img/placeholder.png) no-repeat 90% center / 50px;
}


.greeting-link > a strong{
  font-size:24px;
  color: #333;
}


.greeting-link > a:nth-child(1):hover{
  background:#eadbd6 url(/theme/jelly/img/footprints.png) no-repeat 90% center / 50px;
  border-color:#5f382d;
}

.greeting-link > a:nth-child(2):hover{
  background:#f1dcc8 url(/theme/jelly/img/placeholder.png) no-repeat 90% center / 50px;
  border-color:#5f382d;
}

@media all and (max-width:768px){
  .greeting-content{flex-direction:column;}
  .greeting-flex{flex-direction:column;gap:0px;margin: 60px auto;border-top: 1px solid #ddd;border-bottom: 1px solid #ddd;}
  .greeting-flex > div{width:100%;padding:25px 0;}
  .greeting-flex > div:nth-child(2) {border-top: 1px solid #ddd;border-bottom: 1px solid #ddd;border-left:0;border-right:0;}
  .greeting-link{flex-direction:column;margin: 60px auto;}
  .greeting-link > a{width:100%;padding: 40px 20px;font-size:14px;}
  .greeting-link > a strong{font-size:18px;}
}




/* 공통 정보박스 CSS */
.info-box{
    border:1px solid #ddd;
}

.info-box dl{
    display:flex;
    border-bottom:1px solid #eee;
}

.info-box dl:last-child{
    border-bottom:0;
}

.info-box dt{
    width:180px;
    padding:25px;
    background:#f7f7f7;
    font-weight:700;
}

.info-box dd{
    flex:1;
    padding:25px;
}

@media(max-width:768px){

    .info-box dl{
        display:block;
    }

    .info-box dt{
        width:100%;
        padding:15px;
    }

    .info-box dd{
        padding:15px;
    }
}




.hesedion-section{
    position:relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 20px;
    padding: 80px 0;
    border-top: 1px solid #ddd;
}

.hesedion-section h4{
    align-self: flex-start;
    position:sticky;
    top:100px;
    flex:0 0 300px;
    font-size:28px;
    margin-bottom:25px;
    color:#111;
}

.hesedion-section h4 span{
  font-size:clamp(40px,3.2rem,60px);
  color: #6f4e45;
}

.hesedion-section .hesedion-con{
  padding-top: 30px;
}
.hesedion-section .hesedion-img{
  margin-bottom:20px;
}



.hesedion-section p{
    margin-bottom:20px;
    font-size: clamp(14px, 0.95rem, 16px);
}

.hesedion-section p strong{
  display: inline-block;
  margin-bottom: 10px;
  padding-bottom: 0px;
  font-size: 20px;
  border-bottom: 2px solid #333;
}

@media(max-width:768px){

    .hesedion-section{
        flex-direction: column;
        gap:0;
        padding:50px 0;
    }

    .hesedion-section h4{
        top:60px;
        flex: 0 0 95px;
        width: 100%;
        min-height: max-content;
        padding-bottom:16px;
        font-size:22px;
        background: #fff;
    }

    .hesedion-section .hesedion-con{
      padding-top:0;
    }
}




.instrument-content{
    max-width:1000px;
}

.instrument-content p{
    margin-bottom:20px;
    font-size:clamp(14px, 0.95rem, 16px);
    text-align:center;
}