.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

main {
  padding: 0;
}



.head_image{
    width: 83.333333vw;
    margin: 0 auto 6.25vw;
}

.head_caption{
    width: 83.333333vw;
    margin: 0 auto 8.333333vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.head_caption .caption_data{
    font-size: 2.916667vw;
    font-weight: 400;
    line-height: 1.6;
}

.head_caption .name_block .name{
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 1.25vw;
}

.head_caption .name_block .name small{
    font-size: 0.833333vw;
    font-weight: 400;
    margin-right: 0.833333vw;
}

.head_caption .name_block .sign{
    width: 225px;
}
@media (max-width: 1920px) {
    .head_caption .name_block .sign{
        width: 11.71875vw;
    }
}

main .text_block{
    width: 83.333333vw;
    margin: 0 auto 8.333333vw;
    display: flex;
    justify-content: space-between;
}

main .text_block:last-of-type{
    margin-bottom: 12.5vw;
}

.text_block .main{
    width: 27.083333vw;
    font-size: 2.5vw;
    font-weight: 500;
    line-height: 1.6;
}

.text_block .caption_box{
    width: 50vw;
}

.text_block .caption_box p{
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 2.0;
    margin-bottom: 1em;
}

.text_block .caption_box p:last-of-type{
    margin-bottom: 0;
}

.text_block02{
    width: 83.333333vw;
    margin: 0 auto 8.333333vw;
    display: flex;
}

.text_block02 .image_block{
    width: 40vw;
}

.text_block02 .image_block picture{
    display: block;
}

.text_block02 .image_block picture img{
    width: 100%;
    height: auto;
}

.text_block02 .text_box{
    width: calc(100% - 40vw);
    padding-left: 120px;
    box-sizing: border-box;
}

.text_block02 .text_box .catch{
    font-size: 2.5vw;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 2.5vw;
}

.text_block02 .text_box .caption{
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 2.0;
}


@media (max-width: 768px) {



.head_image{
    width: 100%;
    margin: 0 auto 17.066667vw;
}

.head_caption{
    width: auto;
    margin: 0 5.333333vw 17.066667vw;
    display: block;
}

.head_caption .caption_data{
    font-size: 7.466667vw;
    margin-bottom: 8.533333vw;
}

.head_caption .name_block{
    text-align: right;
}

.head_caption .name_block .name{
    font-size: 3.733333vw;
    margin-bottom: 4.266667vw;
}

.head_caption .name_block .name small{
    font-size: 2.666667vw;
    margin-right: 4.266667vw;
}

.head_caption .name_block .sign{
    width: 41.066667vw;
}

main .text_block{
    width: auto;
    margin: 0 5.333333vw 17.066667vw;
    display: block;
}

main .text_block:last-of-type{
    margin-bottom: 32vw;
}

.text_block .main{
    width: auto;
    font-size: 6.4vw;
    margin-bottom: 10.666667vw;
}

.text_block .caption_box{
    width: auto;
}

.text_block .caption_box p{
    font-size: 4.266667vw;
}

.text_block02{
    width: auto;
    margin: 0 5.333333vw 17.066667vw;
    display: block;
}

.text_block02 .image_block{
    width: auto;
    margin-bottom: 17.066667vw;
}

.text_block02 .text_box{
    width: auto;
    padding-left: 0;
}

.text_block02 .text_box .catch{
    font-size: 6.4vw;
    margin-bottom: 10.666667vw;
}

.text_block02 .text_box .caption{
    font-size: 4.266667vw;
}



}
