@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap&subset=japanese");
body#collaboration .pagetitle {
  padding: 3.25em 0 1.25em;
  border-top: solid 7.9375em #af1e23;
  border-bottom: solid 0.625em #af1e23;
}
body#collaboration .pagetitle figure {
  text-align: center;
}
body#collaboration .section {
  font-family: 'Kosugi Maru', sans-serif;
  background-color: #fffded;
}
body#collaboration .section.intro {
  padding-top: 0;
}
body#collaboration .section.intro dl + dl {
  margin-top: 2.5em;
}
body#collaboration .section.intro dl dt {
  position: relative;
  padding: 0.625em 1.25em 0.625em 3.75em;
  font-size: 125%;
  font-weight: 700;
  line-height: 1.25;
  background-color: #de6a75;
  -moz-border-radius: 0.625em 0.625em 0 0;
  -webkit-border-radius: 0.625em;
  border-radius: 0.625em 0.625em 0 0;
}
body#collaboration .section.intro dl dt::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0.625em;
  width: 2.5em;
  height: 2.5em;
  background: url("../images/collaboration/icon_ribon.png") no-repeat center center;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
body#collaboration .section.intro dl dd {
  padding: 1.25em 2.5em;
  color: #4d4d4d;
  line-height: 1.75;
  background-color: #ffffff;
  -moz-border-radius: 0 0 0.625em 0.625em;
  -webkit-border-radius: 0;
  border-radius: 0 0 0.625em 0.625em;
}
body#collaboration .section.intro dl dd .column figure {
  text-align: center;
}
body#collaboration .section.intro dl dd .column figure figcaption {
  margin-bottom: 0.3125em;
}
body#collaboration .section.intro dl dd .column + .column {
  margin-top: 1.25em;
}
body#collaboration .section.intro dl dd .column.column2 {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
body#collaboration .section.intro dl dd .column.column2 figure {
  flex-basis: 46%;
}
body#collaboration .section .flowstart figure {
  text-align: center;
}
body#collaboration .section .flow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 1.25em;
  padding-bottom: 7.5em;
}
body#collaboration .section .flow::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 100%;
  height: 6.25em;
  background: url("../images/collaboration/arrow.png") no-repeat center center;
  -moz-background-size: contain;
  -o-background-size: contain;
  -webkit-background-size: contain;
  background-size: contain;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
body#collaboration .section .flow:nth-child(even) {
  flex-direction: row-reverse;
}
body#collaboration .section .flow .fig {
  flex-basis: 26%;
  position: relative;
}
body#collaboration .section .flow .fig img {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 0.3125em #b5981f;
  -moz-border-radius: 1.25em;
  -webkit-border-radius: 1.25em;
  border-radius: 1.25em;
}
body#collaboration .section .flow .fig figcaption {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 50%;
  width: 90%;
  padding: 0.3125em;
  color: #ffffff;
  font-size: 112.5%;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  background-color: #af1e23;
  -moz-border-radius: 0.625em;
  -webkit-border-radius: 0.625em;
  border-radius: 0.625em;
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
body#collaboration .section .flow .detail {
  flex-basis: 40%;
}
body#collaboration .section .flow .detail dl dt {
  margin-bottom: 0.3125em;
  color: #e15278;
  font-size: 187.5%;
  font-weight: 700;
  line-height: 1.25;
}
body#collaboration .section .flow .detail dl dd {
  color: #553019;
  font-size: 150%;
  font-weight: 400;
  line-height: 1.75;
}
body#collaboration .section .flow .illust {
  flex-basis: 26%;
  text-align: center;
}
body#collaboration .section .end figure {
  text-align: center;
}

/* RWD
---------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  body#collaboration .pagetitle {
    padding: 0;
    border-top: solid 5.3125em #af1e23;
    border-bottom: solid 0.3125em #af1e23;
  }
  body#collaboration .section.intro dl + dl {
    margin-top: 1.25em;
  }
  body#collaboration .section.intro dl dt {
    font-size: 87.5%;
  }
  body#collaboration .section.intro dl dd {
    padding: 1.25em 2.5em;
    font-size: 75%;
  }
  body#collaboration .section.intro dl dd .column figure {
    text-align: center;
  }
  body#collaboration .section.intro dl dd .column figure figcaption {
    margin-bottom: 0.3125em;
  }
  body#collaboration .section.intro dl dd .column + .column {
    margin-top: 1.25em;
  }
  body#collaboration .section.intro dl dd .column.column2 {
    display: block;
  }
  body#collaboration .section.intro dl dd .column.column2 figure + figure {
    margin-top: 0.625em;
  }
  body#collaboration .section .flow {
    display: block;
    width: 80%;
    margin: 0 auto 2.5em;
    padding-bottom: 3.75em;
  }
  body#collaboration .section .flow::after {
    height: 2.5em;
  }
  body#collaboration .section .flow:nth-child(even) {
    flex-direction: row-reverse;
  }
  body#collaboration .section .flow .fig img {
    -moz-border-radius: 0.625em;
    -webkit-border-radius: 0.625em;
    border-radius: 0.625em;
  }
  body#collaboration .section .flow .fig figcaption {
    font-size: 87.5%;
  }
  body#collaboration .section .flow .detail {
    margin: 1.25em 0;
  }
  body#collaboration .section .flow .detail dl dt {
    font-size: 125%;
  }
  body#collaboration .section .flow .detail dl dd {
    font-size: 87.5%;
  }
}
