.wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: url(../img/bg.png) no-repeat;
  background-size: 100% auto;
  background-attachment: fixed;
}
.headBlock {
  padding: 146px 3% 40px;
  background: #f3f3f3;
}
.headBox {
  max-width: 1130px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
}
.headBox .txtBox {
  width: 36.5%;
  max-width: 344px;
  margin: 0 0 0 auto;
  letter-spacing: 0.06em;
  padding: 0 3% 3% 0;
}
.headBox .txtBox .titleBlock {
  border-left: 8px solid #e60033;
  padding: 22px 0 22px 32px;
  margin-bottom: 24px;
}
.headBox .txtBox .titleBlock .eTxt {
  font-size: 2rem;
  letter-spacing: 0.22em;
  font-weight: 300;
  margin-bottom: 8px;
}
.headBox .txtBox .titleBlock h1 {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.headBox .txtBox .note {
  font-size: 1.5rem;
  line-height: 1.667;
}
.headBox .imgBox {
  max-width: 721px;
  width: 64%;
}
.interviewBlock {
  padding: 30px 0 28px;
  border-top: 1px solid #000;
  position: relative;
  z-index: 2;
}
.interviewBlock .topTxt {
  font-size: 2.5rem;
  font-weight: 300;
  color: #e60033;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 46px;
}
.interviewBlock .memberBox {
  padding: 0 3% 40px;
}
.interviewBlock .memberBox .boxWrap {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.interviewBlock .memberBox .boxWrap .imgBox {
  width: 32.3%;
}
.interviewBlock .memberBox .boxWrap .imgBox figure {
  max-width: 261px;
  margin: 0 0 0 auto;
}
.interviewBlock .memberBox .boxWrap .txtBox {
  width: 63.4%;
  border-left: 8px solid #e60033;
  padding: 18px 0 0 5%;
}
.interviewBlock .memberBox .boxWrap .txtBox .meta {
  display: flex;
  flex-wrap: wrap;
  letter-spacing: 0.06em;
  margin-bottom: 15px;
}
.interviewBlock .memberBox .boxWrap .txtBox .meta .name {
  font-size: 1.7rem;
  font-weight: 500;
  margin-right: 17px;
}
.interviewBlock .memberBox .boxWrap .txtBox .meta .year {
  font-size: 1.5rem;
}
.interviewBlock .memberBox .boxWrap .txtBox .meta .department {
  font-size: 1.9rem;
  font-weight: 500;
  width: 100%;
  margin-top: 5px;
}
.interviewBlock .memberBox .boxWrap .txtBox h2 {
  margin-bottom: 35px;
}
.interviewBlock .memberBox .boxWrap .txtBox h2 span {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
}
.interviewBlock .memberBox .boxWrap.show .txtBox h2 span {
  color: #fff;
  background-size: 100% 100%;
}
.interviewBlock .memberBox .boxWrap .txtBox .accBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 50px;
  border: 1px solid #000;
  font-weight: bold;
  font-size: 1.6rem;
}
.interviewBlock .memberBox .boxWrap .txtBox .accBtn::before {
  content: "インタビューを読む";
}
.interviewBlock .memberBox .boxWrap .txtBox .accBtn:hover {
  background: #000;
  color: #fff;
  transition: all .25s ease-in;
  cursor: pointer;
}
.interviewBlock .memberBox .boxWrap .txtBox .accBtn::after {
  position: absolute;
  right: 6.5%;
  width: 10px;
  height: 19px;
}
.interviewBlock .memberBox .boxWrap .txtBox .accBtn.isOpen::before {
  content: "インタビューを閉じる";
}
.interviewBlock .memberBox .boxWrap .txtBox .accBtn.isOpen::after {
  transform: scale(1, -1);
}
.interviewBlock .accContents {
  overflow: hidden;
  height: 0;
  transition: height 0.4s ease;
}
.interviewBlock .interviewDetails {
  padding: 0 3% 30px;
}
.interviewBlock .interviewDetails .blockWrap01 .block {
  max-width: 1000px;
  margin: 0 auto;
}
.interviewBlock .interviewDetails .blockWrap figure {
  width: 43.3%;
}
.interviewBlock .interviewDetails .blockWrap02 .block {
  max-width: 880px;
  margin: 0 auto;
}
.interviewBlock .interviewDetails .blockWrap.blockWrap02::after {
  top: auto;
  bottom: 93px;
  right: -60%;
  transform: scale(-1, 1);
}
.sessionContents {
  padding: 0;
  padding-bottom: 40px;
}
.sessionContents .sessionBlock {
  overflow: hidden;
}
.sessionContents .sessionBlock .lineBg {
  padding: 40px 3% 18px;
}
.sessionContents .lineBg::before {
  display: none;
}
.sessionContents .lineBg01::after {
  right: -50.8%;
  top: -372px;
  transform: scale(-1, 1);
}
.sessionContents .lineBg02::after {
  left: -50.9%;
  top: -349px;
  transform: scale(1, 1);
}
.sessionContents .lineBg03::after {
  right: -50.8%;
  top: -365px;
  transform: scale(-1, 1);
}
.sessionContents .sessionBlock .lineBg.lineBg04 {
  padding-top: 0;
  padding-bottom: 0;
}
.sessionContents .lineBg04::before {
  display: block;
  top: 114px;
  left: -50%;
}
.sessionContents .lineBg04::after {
  left: auto;
  right: -50%;
  top: 458px;
  transform: scale(-1, 1);
}
.sessionContents .topTxt {
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.06em;
  font-weight: 300;
  color: #e60033;
  padding-bottom: 30px;
  position: relative;
  z-index: 2;
}
.sessionContents h2 {
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-bottom: 36px;
  position: relative;
  z-index: 2;
}
.sessionContents .imgBox {
  padding: 0 3%;
}
.sessionContents figure {
  max-width: 880px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.sessionContents .chapterTitle {
  max-width: 756px;
  margin: 0 auto 38px;
  display: flex;
  align-items: center;
  letter-spacing: 0.06em;
  position: relative;
  z-index: 2;
}
.sessionContents .chapterTitle .eTxt {
  font-size: 2rem;
  padding-right: 60px;
  width: 130px;
}
.sessionContents .chapterTitle h3 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  border-left: 8px solid #e60033;
  padding: 0 0 0 28px;
  width: calc(100% - 130px);
  min-height: 80px;
  display: flex;
  align-items: center;
}
.sessionContents .box {
  max-width: 734px;
  margin: 0 auto 20px;
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.06em;
  position: relative;
  z-index: 2;
}
.sessionContents .box figure {
  width: 10%;
  margin: 0;
  text-align: center;
  padding-top: 5px;
}
.sessionContents .box figcaption {
  font-size: 1.7rem;
  font-weight: 500;
}
.sessionContents .box p {
  width: 84%;
  font-size: 1.6rem;
  line-height: 1.563;
}
@media only screen and (max-width:749px) {
  .wrap::before {
    background: url(../img/bg_sp.png) no-repeat;
    background-size: 100%;
  }
  .headBlock {
    padding: calc(8% + 17.33vw) 5% 11.5%;
  }
  .headBox {
    max-width: none;
    display: block;
  }
  .headBox .txtBox {
    width: 88%;
    max-width: none;
    margin: 0 auto 10%;
    padding: 0;
  }
  .headBox .txtBox .titleBlock {
    padding: 7% 0 5% 4.2vw;
    margin-bottom: 12%;
    line-height: 1.4;
  }
  .headBox .txtBox .titleBlock .eTxt {
    font-size: 5.33vw;
    margin-bottom: 0;
  }
  .headBox .txtBox .titleBlock h1 {
    font-size: 6.71vw;
  }
  .headBox .txtBox .note {
    font-size: 4vw;
  }
  .headBox .imgBox {
    width: 100%;
    max-width: none;
  }
  .interviewBlock {
    padding: 8% 0 0;
  }
  .interviewBlock .topTxt {
    font-size: 5.33vw;
    margin-bottom: 8.5%;
  }
  .interviewBlock .memberBox {
    padding: 0 5% 10.5%;
  }
  .interviewBlock .memberBox .boxWrap {
    max-width: none;
    display: block;
  }
  .interviewBlock .memberBox .boxWrap .imgBox {
    width: 76%;
    margin: 0 auto 5%;
  }
  .interviewBlock .memberBox .boxWrap .imgBox figure {
    max-width: none;
  }
  .interviewBlock .memberBox .boxWrap .txtBox {
    width: 100%;
    padding: 0;
    border: none;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .txtWrap {
    padding: 4% 0 3.5% 4.5vw;
    margin: 0 5% 6.4%;
    border-left: 8px solid #e60033;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .meta {
    margin-bottom: 6.5%;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .meta .name {
    font-size: 4.53vw;
    margin-right: 5.5%;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .meta .year {
    font-size: 4vw;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .meta .department {
    font-size: 5.06vw;
    margin-top: 2.5%;
  }
  .interviewBlock .memberBox .boxWrap .txtBox h2 {
    margin-bottom: 0;
    line-height: 2.222;
  }
  .interviewBlock .memberBox .boxWrap .txtBox h2 span {
    font-size: 4.8vw;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .accBtn {
    min-height: 13.33vw;
    font-size: 4.26vw;
  }
  .interviewBlock .memberBox .boxWrap .txtBox .accBtn::after {
    right: 6.5%;
    width: 2.66vw;
    height: 5.06vw;
  }
  .interviewBlock .interviewDetails {
    padding: 0 0 4%;
  }
  .interviewBlock .interviewDetails .blockWrap01 .block {
    max-width: none;
    margin: 0 0 10%;
  }
  .interviewBlock .interviewDetails .blockWrap figure {
    width: 100%;
  }
  .interviewBlock .interviewDetails .blockWrap02 .block {
    max-width: none;
  }
  .interviewBlock .interviewDetails .blockWrap.blockWrap02::after {
    top: -110vw;
    bottom: auto;
    right: -190%;
  }
  .sessionContents {
    padding: 0;
    padding-bottom: 11vw;
  }
  .sessionContents .sessionBlock .lineBg {
    padding: 7% 5% 2%;
  }
  .sessionContents .lineBg01::after {
    right: -197%;
    top: -108vw;
  }
  .sessionContents .lineBg02::after {
    left: -187%;
    top: -105vw;
  }
  .sessionContents .lineBg03::after {
    right: -195%;
    top: -105vw;
  }
  .sessionContents .lineBg04::before {
    top: 14.7vw;
    left: -160%;
  }
  .sessionContents .lineBg04::after {
    right: -147%;
    top: 41vw;
  }
  .sessionContents .topTxt {
    font-size: 5.33vw;
    padding: 0 0 8%;
    margin-top: -1.5%;
  }
  .sessionContents h2 {
    font-size: 5.33vw;
    margin-bottom: 11.2%;
    line-height: 2;
  }
  .sessionContents .imgBox {
    padding: 0 5%;
  }
  .sessionContents figure {
    max-width: none;
    margin: 0 auto;
  }
  .sessionContents .chapterTitle {
    max-width: none;
    margin: 0 auto 9%;
    display: block;
  }
  .sessionContents .chapterTitle .eTxt {
    font-size: 3.73vw;
    padding: 0 0 2%;
    width: auto;
  }
  .sessionContents .chapterTitle h3 {
    font-size: 4.53vw;
    padding: 0 0 0 4vw;
    border-width: 5px;
    width: 100%;
    min-height: 15.2vw;
  }
  .sessionContents .box {
    max-width: none;
    margin: 0 auto 9%;
  }
  .sessionContents .box figure {
    width: 22%;
    padding-top: 2vw;
  }
  .sessionContents .box figcaption {
    font-size: 4vw;
    padding-top: 5%;
  }
  .sessionContents .box p {
    width: 72%;
    font-size: 4.26vw;
  }
}