@charset "utf-8";

.sof_head{
  transform: rotate(0.03deg);
  font-weight: 700;
  line-height: 1.25;
  padding: 0;
  margin: 3em 0;
}
.sof_head h1{
  text-align: center;
  font-size: 1.5em;
  color: #ffffff;
  background: #039eff;
  background: linear-gradient(90deg, rgba(3, 158, 255, 1) 0%, rgba(255, 179, 0, 1) 50%, rgba(255, 0, 0, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height:1.5;
}

.sof_head h1 span{display: inline-block;}

.sof_pictureblock{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.sof_pictureblock picture{
  display: block;
}


.sof_pictureblock picture img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sof_description{
  padding:1em;
}

.sof_body{
  line-height: 1.5;
  padding-bottom:2em;
}
.sof_body h2{
    font-weight:bold;
    width: 96%;
    position: relative;
    text-align: center;
    color: #4ca8ad;
    background-color: #fff;
    font-weight: bold;
    font-size: 1.25em;
  }

.sof_body h2 span {
    position: relative;
    display: block;
    padding: 0 0.5em;
    width: 8em;
    background-color: #fff;
    margin: 0 auto 1em;
    z-index: 5;
}


.sof_body h2::before {
    position: absolute;
    top: 50%;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background-color: #4ca8ad;
    z-index: 2;
}

.sof_body dl{display: flex; flex-wrap: wrap;
  width: 78%;
  margin: auto;}
.sof_body dl dt{width: 6em;margin-bottom: 0.2em;}
.sof_body dl dd{width: calc(100% - 6em);margin-bottom: 0.2em;}
.sof_body dl dd:nth-last-of-type(n+2){margin-bottom: 0.8em;}
.sof_body dl dd span{display: inline-block;}



@media screen and (max-width:820px){
  .sof_head{margin: 1em 0;}
  .sof_head h1{font-size: 1.25em;}
  .sof_head h1>br{display: none;}
  .sof_head p.sof_headtxt{
    font-size:0.875rem;
  }
  .sof_head p.sof_headtxt span{
    font-size:1.25rem;
  }
  .sof_body h2{width: 100%;}
  .sof_description{
    padding:1em 0;
  }
  .sof_picturebox picture{
    width:80%;
  }
  .sof_picturebox span{
    display:block;
  }
  .sof_body dl {width: 100%;}
  

}