@media print, (min-width: 768px) {
  main {
    background: #00a7ff url("../img/mizukara/myself/engineer/thumbnail_bg_01.png") left bottom/cover no-repeat;
  }
}
@media only screen and (max-width: 767.98px) {
  main {
    background: #0076ee url("../img/requirements/sp/thumbnail_bg_01.png") center bottom/100% auto no-repeat;
  }
}

.section-engineer-keyvisual .keyvisual-label {
  margin: 0;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.section-engineer-keyvisual .keyvisual-inner {
  position: relative;
  z-index: 1;
}
.section-engineer-keyvisual .keyvisual-title {
  margin: 0;
}
@media print, (min-width: 768px) {
  .section-engineer-keyvisual {
    min-height: 832px;
    padding-top: 41px;
    padding-bottom: 140px;
    background: url("../img/mizukara/myself/engineer/keyvisual_bg_01.png") top left/cover no-repeat;
  }
  .section-engineer-keyvisual .keyvisual-inner {
    padding: 0 78px;
  }
  .section-engineer-keyvisual .keyvisual-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: -188px;
    margin-right: 2px;
    padding: 0 23px;
    font-size: 0.2rem;
    line-height: 1.75;
  }
  .section-engineer-keyvisual .keyvisual-thumbnail {
    width: 1200px;
    margin: 0 auto;
    margin-top: 73px;
  }
  .section-engineer-keyvisual .keyvisual-thumbnail img {
    border-radius: 120px;
  }
  .section-engineer-keyvisual .keyvisual-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 842px;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-engineer-keyvisual {
    padding-top: 0.6rem;
    padding-bottom: 0.33rem;
    background: url("../img/mizukara/myself/engineer/sp/keyvisual_bg_01.png") top -0.3rem left/cover no-repeat;
  }
  .section-engineer-keyvisual .keyvisual-thumbnail {
    margin-top: -0.75rem;
    margin-bottom: 0.22rem;
  }
  .section-engineer-keyvisual .keyvisual-thumbnail img {
    border-radius: 0.6rem;
  }
  .section-engineer-keyvisual .keyvisual-label {
    font-size: 0.2rem;
    line-height: 1.75;
  }
  html.is-ios .section-engineer-keyvisual .keyvisual-label {
    margin-right: -0.1rem;
  }
  .section-engineer-keyvisual .keyvisual-title {
    width: 3.68rem;
  }
}

.section-engineer-info {
  overflow: hidden;
}
.section-engineer-info .info-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.section-engineer-info .item-thumbnail {
  position: relative;
}
.section-engineer-info .item-thumbnail img {
  border-radius: 50%;
}
.section-engineer-info .item-thumbnail::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.section-engineer-info .info-position {
  display: block;
  color: #0076ee;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.section-engineer-info .position-wrapper {
  background: #fff;
}
.section-engineer-info .item-inner {
  color: #fff;
}
.section-engineer-info .info-name {
  font-weight: 700;
  letter-spacing: 0.05em;
}
.section-engineer-info .info-detail {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.section-engineer-info .info-detail p:last-child {
  margin-bottom: 0;
}
@media print, (min-width: 768px) {
  .section-engineer-info {
    margin-top: -116px;
    padding-bottom: 100px;
  }
  .section-engineer-info .info-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -12px 114px;
    padding: 0 306px;
  }
  .section-engineer-info .list-item {
    width: 33.3333333333%;
    margin-bottom: 15px;
    padding: 0 12px;
  }
  .section-engineer-info .item-thumbnail {
    width: 180px;
    margin-bottom: 20px;
  }
  .section-engineer-info .item-thumbnail::before {
    background: url("../img/mizukara/myself/decoration_img_01.png") center center/cover no-repeat;
  }
  .section-engineer-info .info-position {
    margin-bottom: 9px;
    font-size: 0.12rem;
  }
  .section-engineer-info .info-position.is-modify {
    margin-right: -40px;
  }
  .section-engineer-info .position-wrapper {
    padding: 1px 13px 2px 14px;
    border-radius: 100px;
  }
  .section-engineer-info .item-inner {
    padding: 0 20px;
  }
  .section-engineer-info .info-name {
    margin-bottom: 4px;
    font-size: 0.16rem;
  }
  .section-engineer-info .info-detail {
    font-size: 0.12rem;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-engineer-info {
    background: url("../img/mizukara/myself/sp/backgroud_img_03.png") top left/100% auto no-repeat;
  }
  .section-engineer-info .info-list {
    margin-bottom: 1.18rem;
  }
  .section-engineer-info .list-item:not(:last-child) {
    margin-bottom: 0.3rem;
  }
  .section-engineer-info .item-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .section-engineer-info .item-thumbnail {
    width: 1.72rem;
    height: 1.72rem;
  }
  .section-engineer-info .item-thumbnail::before {
    background: url("../img/mizukara/myself/sp/decoration_img_01.png") center center/cover no-repeat;
  }
  .section-engineer-info .item-inner {
    padding-left: 0.1rem;
  }
  .section-engineer-info .info-position {
    margin-bottom: 0.08rem;
    font-size: 0.12rem;
  }
  .section-engineer-info .info-position.is-modify {
    margin-right: -0.1rem;
  }
  .section-engineer-info .position-wrapper {
    padding: 0.02rem 0.13rem 0.02rem 0.14rem;
    border-radius: 1rem;
  }
  .section-engineer-info .info-name {
    margin-bottom: 0.05rem;
    font-size: 0.16rem;
  }
  .section-engineer-info .info-detail {
    font-size: 0.12rem;
  }
}

.info-block-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.info-block-list .list-item-wrapper {
  position: relative;
}
.info-block-list .list-item-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: height 0.35s ease;
  transition: height 0.35s ease;
  background: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}
.info-block-list .list-item-wrapper:not(.is-reverse) .group-thumbnail {
  left: 0;
}
.info-block-list .list-item-wrapper:not(.is-reverse) .group-title {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.info-block-list .list-item-wrapper.is-reverse .group-thumbnail {
  right: 0;
}
.info-block-list .list-item-wrapper.is-reverse .group-title {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.info-block-list .list-item-wrapper.is-reverse .group-content {
  margin-left: auto;
}
.info-block-list .list-item-wrapper.is-reverse .group-inner {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.info-block-list .list-item-wrapper.is-active .item-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
.info-block-list .item-title {
  position: relative;
  margin: 0;
  background: #1b54aa;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.info-block-list .item-icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  background: #fff;
}
.info-block-list .item-icon::before, .info-block-list .item-icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.14rem;
  height: 0.04rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #1b54aa;
}
.info-block-list .item-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}
.info-block-list .group-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.info-block-list .group-thumbnail {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.info-block-list .group-thumbnail::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.info-block-list .group-thumbnail img {
  border-radius: 50%;
}
.info-block-list .group-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  background: url("../img/mizukara/myself/backgroud_img_01.jpg") center center/cover no-repeat;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.info-block-list .group-content {
  background: #fff;
  letter-spacing: 0.05em;
}
.info-block-list .group-content .is-highlight {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ffe200;
  text-decoration-thickness: 0.05rem;
  text-underline-offset: 0.03rem;
  -webkit-text-decoration-color: #ffe200;
  -webkit-text-decoration-thickness: 0.05rem;
  -webkit-text-underline-offset: 0.03rem;
}
.info-block-list .image-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  color: #fff;
  font-weight: 700;
}
.info-block-list .image-caption {
  margin: 0;
  color: #fff;
  letter-spacing: 0.05em;
  text-align: right;
}
.info-block-list .list-item-inner {
  display: none;
  position: relative;
}
@media print, (min-width: 768px) {
  .info-block-list .list-item-wrapper {
    padding: 51px 0;
    border-radius: 120px;
  }
  .info-block-list .list-item-wrapper.is-reverse .group-wrapper {
    margin-right: -103px;
  }
  .info-block-list .list-item-wrapper.is-reverse .group-title {
    padding: 11px 145px 10px 30px;
  }
  .info-block-list .list-item-wrapper.is-reverse .list-item-thumbnail img {
    border-radius: 0 80px 80px 0;
  }
  .info-block-list .list-item-wrapper.is-reverse .list-item-column {
    padding-right: calc(50% - 497px);
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .group-wrapper {
    margin-left: -103px;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .group-title {
    padding: 11px 30px 10px 145px;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .list-item-thumbnail {
    left: calc(50% + 216px);
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .list-item-thumbnail img {
    border-radius: 80px 0 0 80px;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .list-item-frame {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .list-item-column {
    padding-left: calc(50% - 497px);
  }
  .info-block-list .list-item-wrapper:not(:last-child) {
    margin-bottom: 50px;
  }
  .info-block-list .list-item-wrapper:last-child .group-wrapper {
    margin: 0 -103px;
  }
  .info-block-list .list-item-wrapper:last-child .group-content {
    width: 100%;
  }
  .info-block-list .list-item-wrapper:last-child .list-item-column {
    padding: 0 calc(50% - 497px);
  }
  .info-block-list .list-item-wrapper::before {
    width: 996px;
    height: 100%;
    border-radius: 120px;
  }
  .info-block-list .list-item-wrapper.is-active::before {
    height: calc(100% - 290px);
  }
  .info-block-list .group-wrapper {
    position: relative;
    z-index: 1;
  }
  .info-block-list .list-item-inner {
    position: relative;
  }
  .info-block-list .list-item-frame {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 70px 0 0;
  }
  .info-block-list .list-item-group:not(:last-child) {
    margin-bottom: 80px;
  }
  .info-block-list .item-title {
    width: 896px;
    margin: 0 auto;
    padding: 20px 100px 20.5px;
    border-radius: 120px;
    font-size: 0.34rem;
    line-height: 1.75;
    text-align: center;
  }
  .info-block-list .item-icon {
    right: 30px;
    width: 40px;
    height: 40px;
  }
  .info-block-list .group-thumbnail {
    width: 140px;
    height: 140px;
  }
  .info-block-list .group-thumbnail::before {
    background: url("../img/mizukara/myself/decoration_img_02.png") center center/cover no-repeat;
  }
  .info-block-list .group-title {
    min-width: 240px;
    min-height: 60px;
    border-radius: 100px;
    font-size: 0.24rem;
    line-height: 1.5;
  }
  .info-block-list .group-content {
    width: 792px;
    margin-top: -30px;
    padding: 96px 50px 17px;
    border-radius: 80px;
    line-height: 2;
  }
  .info-block-list .list-image {
    margin: 0 -152px;
    padding-top: 20px;
  }
  .info-block-list .image-title {
    width: 636px;
    min-height: 200px;
    margin: 0 auto;
    padding-top: 28px;
    padding-bottom: 120px;
    border-radius: 500px;
    background: url("../img/mizukara/myself/backgroud_img_02.png") center center/cover no-repeat;
    font-size: 0.26rem;
  }
  .info-block-list .image-caption {
    margin: -3px 50px 0;
    font-size: 0.12rem;
    line-height: 3;
  }
  .info-block-list .list-item-thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 216px);
    min-height: 600px;
    margin: 30px 0;
  }
}
@media only screen and (max-width: 767.98px) {
  .info-block-list .list-item-inner {
    padding-top: 0.55rem;
  }
  .info-block-list .list-item-group:not(:last-child) {
    margin-bottom: 0.46rem;
  }
  .info-block-list .list-item-thumbnail {
    position: relative;
    width: 3.72rem;
    height: 3rem;
    margin-top: 0.5rem;
  }
  .info-block-list .list-item-wrapper {
    padding: 0.2rem 0.18rem;
    border-radius: 0.6rem;
  }
  .info-block-list .list-item-wrapper.is-reverse .group-title {
    padding: 0.05rem 1.1rem 0.04rem 0.29rem;
  }
  .info-block-list .list-item-wrapper.is-reverse .list-item-thumbnail {
    margin-left: -0.18rem;
  }
  .info-block-list .list-item-wrapper.is-reverse .list-item-thumbnail img {
    border-radius: 0 0.6rem 0.6rem 0;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .group-title {
    padding: 0.05rem 0.29rem 0.04rem 1.1rem;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .list-item-thumbnail {
    margin-right: -0.18rem;
  }
  .info-block-list .list-item-wrapper:not(.is-reverse) .list-item-thumbnail img {
    border-radius: 0.6rem 0 0 0.6rem;
  }
  .info-block-list .list-item-wrapper:not(:last-child) {
    margin-bottom: 0.8rem;
  }
  .info-block-list .list-item-wrapper::before {
    width: 100%;
    height: 100%;
    border-radius: 0.6rem;
  }
  .info-block-list .list-item-wrapper.is-active::before {
    height: calc(100% - 1.7rem);
  }
  .info-block-list .item-title {
    padding: 0.21rem 0.5rem 0.2rem 0.3rem;
    border-radius: 0.6rem;
    font-size: 0.22rem;
    line-height: 1.75;
  }
  .info-block-list .item-icon {
    right: 0.1rem;
    width: 0.3rem;
    height: 0.3rem;
  }
  .info-block-list .group-thumbnail {
    width: 1rem;
    height: 1rem;
  }
  .info-block-list .group-thumbnail::before {
    background: url("../img/mizukara/myself/sp/decoration_img_02.png") center center/cover no-repeat;
  }
  .info-block-list .group-title {
    min-width: 1.9rem;
    min-height: 0.5rem;
    border-radius: 1rem;
    font-size: 0.2rem;
    line-height: 1.8;
  }
  .info-block-list .group-content {
    margin-top: -0.26rem;
    padding: 0.66rem 0.3rem 0.22rem;
    border-radius: 0.6rem;
    font-size: 0.16rem;
    line-height: 2;
  }
  .info-block-list .image-title {
    width: 3rem;
    min-height: 2rem;
    margin: 0 auto;
    padding: 0.17rem 0.2rem 1.1rem;
    border-radius: 0.6rem;
    background: url("../img/mizukara/myself/sp/backgroud_img_02.png") center center/cover no-repeat;
    font-size: 0.2rem;
    line-height: 1.75;
  }
  .info-block-list .list-image {
    padding-top: 0.04rem;
  }
  .info-block-list .image-caption {
    font-size: 0.12rem;
    line-height: 3;
  }
}

.list-item-about {
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}
@media print, (min-width: 768px) {
  .list-item-about {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: -99px 37px 0;
  }
  .list-item-about .about-item {
    width: 50%;
    margin-bottom: 24px;
    padding: 0 12px;
  }
  .list-item-about .about-thumbnail img {
    border-radius: 80px;
  }
}
@media only screen and (max-width: 767.98px) {
  .list-item-about {
    margin-top: -1rem;
    margin-bottom: 0.12rem;
  }
  .list-item-about .about-item:not(:last-child) {
    margin-bottom: 0.2rem;
  }
  .list-item-about .about-thumbnail img {
    border-radius: 0.6rem;
  }
}

.section-link-common .link-wrapper {
  position: relative;
}
@media print, (min-width: 768px) {
  .section-link-common {
    padding-top: 42px;
    padding-bottom: 250px;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-link-common {
    padding-top: 1rem;
    padding-bottom: 1.5rem;
  }
}