.contents h2 {font-size: 5rem;font-weight: bold;max-width: 1200px;width: calc(100% - 50px);line-height: 1.5;margin: 0 auto 30px;}
.contents h2 span:not(.font-optima, .decrease) {display: block;font-size: clamp(16px,1.5vw,1.8rem);}
.contents .font-optima{font-weight: bold;}
.contents{padding: 100px 0 0px;background: #f5f5f5;}
.contents_list{background: #f5f5f5;padding: 0px 0 220px;margin-bottom: 150px;}
.contents_list .sub-txt{text-align: center;padding: 130px 0;font-weight: bold;font-size: 2.4rem;line-height: 2;}
.contents .box {padding-bottom: 50px;border-bottom: #000 solid 1px;}
.contents .flex {display: flex;justify-content: space-between;flex-wrap: wrap;}
.contents .box_01 {padding-top: 50px;border-top: #000 solid 1px;}
.contents .box:not(:first-of-type) {padding-top: 50px;}
.contents h3 {font-size: 3.6rem;line-height: 1.4;margin-bottom: 30px;}
.contents .box .txtBox{width: 57.5%;}
.contents .box .imgBox{width: 38.5%;}
.contents .box .s-tit{font-size: 2.5rem;font-weight: bold;}
  @media (max-width: 768px) {
    .contents{padding-top: 70px;}
    .contents  h2 {font-size: clamp( 2rem , 6.5vw, 5rem);margin-bottom: 20px;}
    .contents .box .txtBox{width: 100%;}
    .contents .box .imgBox{width: 100%;margin-top: 20px;}
    .contents .box:not(:first-of-type){padding-top: 35px;}
    .contents  h3 {font-size: min(6vw, 4.8rem);width: 100%;margin-bottom: 20px;margin-top: 10px;}
    .contents_list .sub-txt{font-size: min(4VW , 3rem);padding: 40px 0;}
    .contents .box .s-tit{font-weight: bold;font-size: clamp( 1.8rem,3vw, 2.4rem);}
    .contents .contents_list {padding: 0px 0 100px;margin-bottom: 50px;}
    .contents .box:last-of-type { border-bottom: none;}
  }